• ベストアンサー

配列の添削願

$dataという変数から配列を取り出すとき もしも中身が空なら0を代入したいです。 $a = $data[$i]; //$data内の$iのデータを取り出す if($a==""){ $a=0; }//$iが空もしくは存在しない場合0を追加 echo $a; こちらの文章で$aの中には文字列もしくは 存在しないかデータが空の際は0が表示されるでしょうか? 今、配列の中身が空や\nのとき0を入れたいがうまくいかず困っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

> 配列の中身が空や\nのとき0を入れたい こんなんとか: <? $data = array( 'a', '', "\n", 10 ); $n_data = count( $data ); echo var_dump( $data ); for ( $i = 0; $i <= $n_data; $i++ ){ $a = $data[ $i ]; if ( !isset( $a ) || $a == '' || $a == "\n" ){ $a = 0; $data[ $i ] = $a; } } echo var_dump( $data ); ?>

noname#20805
質問者

お礼

ありがとうございます。 うまくいきました~issetの使い方を覚えることが出来ました!! 感謝です!!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • nikuq
  • ベストアンサー率22% (8/36)
回答No.2

そういう時は、正規表現の [[:space:]] を使っては如何でしょう。 使い方は、 $a = $date[$i]; if(ereg("[[:space:]]","${a}")) { $a = 0; } echo "${a}"; この[[:space:]]は、全てのホワイトスペースに対応しているので、 改行コードも空の変数でも全てホワイトスペースとして認識するので、文字列や数字などが入っていない場合には0が代入されます。 ためしてみてちょ!

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
noname#20805
質問者

お礼

望んでいたことが手軽に出来そうです。 ありがとうございました!!

すると、全ての回答が全文表示されます。

関連するQ&A