php5 の fgetcsv() のバグ?

CSVファイルを fgetcsv() で読み込もうとすると、文字コードの影響で正常に取得できないバグがあるらしい。。。

参考サイトはこちら
↓↓↓
PHP5 の fgetcsv() で読み込み内容が腐る現象

まだ実際には試していませんが、今後使用するときの注意事項としてメモリます。

( fgets()で取得してから自前でするって方法もあるかもしれませんが、
ファイル丸ごと文字コード変換してからすれば楽ですよね。。。)

カテゴリー: php

PHP:foreach での出力順

PHPで foreach() での出力順は、基本は確保した順。

一意に保たれるとか保たれないとか情報がありますが。

注意点は配列の添字番号順にはならない、という事

$data[0] =”A”;
$data[2] =”C”;
$data[1] =”B”;
$data[0] =”Z”;

結果:「ZCB」

ちなみに、

ksort($data);

でキーでソートして出力すると、

結果:「ZBC」
カテゴリー: php

PHPで複数の値をorで比較

条件文を||でたくさん区切っていくより下記がすっきりします。
単純な場合は、switchがいい時もありますが。

if(in_array($val, array(‘あ’,’い’,’う’))){
echo “Hit!”;
}else{
echo “NG”;
}

カテゴリー: php

PHPでの値比較や値評価の留意点

phpの利点でもあり、注意が必要な所でもある値比較の曖昧さや、値のtrue/falseの評価。
基本的な部分ですがメモしておきます。

評価結果
TRUE TRUE
FALSE FALSE
1 TRUE
0 FALSE
-1 TRUE
“1” TRUE
“0” FALSE
“-1″ TRUE
NULL FALSE
array() FALSE
php TRUE
“” FALSE

0や””(空欄)、false、を比較する時も要注意です。
厳密にチェックしたい場合は == ではなく===を使用します。
if(0 ==”) → true
if(0 ===”) → false

下記のサイトがわかりやすくまとめられています。

http://www.phppro.jp/phpmanual/php/types.comparisons.html

 

カテゴリー: php