人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで配列の使い方について質問です。

$array[] = testFunc($test);

function testFunc($value){
if(!empty($value)){
$str = $value;
}
return $str;
}

簡素的ですが、このようなコードがあるとします。
$testが空の場合は、配列($array)に値が入って欲しくないのですが、空の値が入ってしまいます。

$testに値がない場合に配列に代入しないようにするには、どうすればいいのでしょうか?
以下の方法以外で教えて下さい。

if(!empty($test)){$array[] = testFunc($test);}

●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:EMPTY PHP STR test コード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mook
●65ポイント

結果は配列で管理するということでよければ、下記のような実装方法でどうでしょうか。

<?php
 // 初期化
 $myArray = array();

 // データを追加
 $myArray = testFunc( $myArray, "apple");
 print_r( $myArray );

 // 空のデータ:追加されない
 $myArray = testFunc( $myArray, "" );
 print_r( $myArray );

 // データを追加
 $myArray = testFunc( $myArray, "banana");
 print_r( $myArray );

// データガからでなければ配列に追加
function testFunc($array, $value){
 if(!empty($value)){
 array_push( $array, $value );
 }
 return $array;
}
?>

結果は下記の通りです。

Array ( [0] => apple )

Array ( [0] => apple )

Array ( [0] => apple [1] => banana )

◎質問者からの返答

こちらの方法で行けました。勉強になります。ありがとうございました。


2 ● GoldenDawn
●5ポイント

こういう形にすればいいのでは。

function testFunc($value) {
 if (empty($value)) return null ;
 $str = $value;
 return $str;
}
◎質問者からの返答

上記の方法では、空の場合でも配列に値が入ります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ