幼稚園時代「何組」でしたか?

$dataという変数から配列を取り出すとき
もしも中身が空なら0を代入したいです。

$a = $data[$i]; //$data内の$iのデータを取り出す
if($a==""){
$a=0;
}//$iが空もしくは存在しない場合0を追加
echo $a;

こちらの文章で$aの中には文字列もしくは
存在しないかデータが空の際は0が表示されるでしょうか?

今、配列の中身が空や\nのとき0を入れたいがうまくいかず困っています。

A 回答 (2件)

> 配列の中身が空や\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 );
?>
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/10/05 20:58

そういう時は、正規表現の


[[:space:]]
を使っては如何でしょう。
使い方は、
$a = $date[$i];
if(ereg("[[:space:]]","${a}"))
{
$a = 0;
}
echo "${a}";

この[[:space:]]は、全てのホワイトスペースに対応しているので、
改行コードも空の変数でも全てホワイトスペースとして認識するので、文字列や数字などが入っていない場合には0が代入されます。
ためしてみてちょ!

参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/10/05 20:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!