ラベル PHP の投稿を表示しています。 すべての投稿を表示
ラベル PHP の投稿を表示しています。 すべての投稿を表示

2017年2月14日火曜日

配列内の値重複チェック

配列内の値の重複チェックを行うには、関数array_count_valuesが使えます。

[使用例]
$array = array (1, "Tokyo", 1, "Osaka", "Tokyo");

print_r(array_count_values ($array));

[結果]
Array(
  [1] => 2
  [Tokyo] => 2
  [Osaka] => 1
    )

[使用例2]
実際には以下のような形で使うことになるかと思います。

$array = array(11, 12, 13, 11, 15);

// 各値の出現回数をここで抽出
$array_value = array_count_values($array);    

$num = count($array);

for($i=0; $i < $num; $i++){

    $key = $array[$i];
    
    // 出現回数を格納
    $count = $array_value[$key];

    if($count > 1){
        print("値が重複しています。");
    }
}

二つの配列から、連想配列をつくる

<?php
$a = array( 30, "PHP", 87, 33, "入門" );
$b = array( "WEB", 1, "プログラミング", 2, 3 );
 
print_r( array_combine($a, $b) );
?>

2017年2月5日日曜日

PHP 入れ子になった配列並びえ

//order_numで並び替えたいとき。
$array = array(
    array(
        'id'        => 0,
        'order_num' => 'key100-01',
        'title'     => 'ベィスドロップ・フリークス',
        'artist'    => 'かめりあ feat. ななひら'
    ),
    array(
        'id'        => 1,
        'order_num' => 'key001-03',
        'title'     => 'CHRONO DIVER -NORNIR-',
        'artist'    =>  'L.E.D.'
    ),  
    array(
        'id'        => 2,
        'order_num' => 'key001-01',
        'title'     => 'illuminate',
        'artist'    => 'Sota Fujimori'
    ),  
    array(
        'id'        => 3,
        'order_num' => 'key001-04', 
        'title'     => 'YYYYY',
        'artist'    => 'XXXXXX'
    ),  

 
);

foreach ((array) $array as $key => $value) {
    $sort[$key] = $value['order_num'];//ソートしたいキー
}
var_dump($sort);

array_multisort($sort, SORT_ASC, $array);
var_dump($array);

2016年11月1日火曜日

2016年9月24日土曜日

PHP 全角スペースもTrim

PHPのtrim関数は半角スペースしか削除できない。
正規表現を使って、全角スペースにマッチさせるしかない。
注意点
正規表現のメタ文字 ^ と $ は「行」の先頭・末尾を指します。文字列の先頭と末尾を指定する場合は、\A と \z を使用します。
// mb_trim()関数
// 文字列の前後の空白(全角スペース含む)を削除した文字列を返します。
function mb_trim($str)
{
return mb_ereg_replace('\A(\s| )+|(\s| )+\z', '', $str);
}

// mb_ltrim()関数
// 文字列の先頭の空白(全角スペース含む)を削除した文字列を返します。
function mb_ltrim($str)
{
return mb_ereg_replace('\A(\s| )+', '', $str);
}

// mb_rtrim()関数
// 文字列の末尾の空白(全角スペース含む)を削除した文字列を返します。
function mb_rtrim($str)
{
return mb_ereg_replace('(\s| )+\z', '', $str);
}

2016年2月21日日曜日

apacheの実行権限とPHP

PHPは、Apacheの下で動く。
ApacheのプロセスがPHPのプログラムを実行する。
なので、Apacheのプロセスがが実行できる権限を与えておく必要がある。

user1が所有者のPHPファイルがあるとしたら、otherにも実行できる権限を与えておく。


apacheとphpについて

2015年12月7日月曜日

xdebugの設定

xdebug本体をダウンロード
ダウンロード時注意。
X86 => 32bit OS
X64 => 64bit  OS

extのフォルダにダウンロードしたdllを入れる。
IISのFastCGIは、non thread safe
Apatche 2.xは、thread safe


php.iniに設定
[XDebug]
zend_extension = "C:\Program Files (x86)\iis express\PHP\v5.4\ext\php_xdebug-2.4.0rc2-5.4-vc9-nts.dll"
xdebug.remote_enable = 1 
xdebug.remote_host =localhost
xdebug.remote_port = 9000 
xdebug.remote_handler = dbgp
xdebug.remote_mode=req
xdebug.remote_autostart= On
xdebug.idekey=”netbeans-xdebug;netbeansで接続を待っています。となってしまうので追加。



webサーバーを再起動
C:\Program Files (x86)\iis express\PHP\v5.4\ext>php -v
PHP 5.4.24 (cli) (built: Jan  8 2014 20:26:10)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.4.0RC2, Copyright (c) 2002-2015, by Derick Rethans


with Xdebug v2.4.0RC2, Copyright (c) 2002-2015, by Derick Rethansが確認できれば設定OK