in_array('number',$hoge)で、$hogeにnumberがあるか分かります。
新たに配列を作って、numberがあれば追加して、元の配列に置き換えればできますね。
▽2
●
a-kuma3 ●50ポイント ベストアンサー |
array_filter() を使う感じでしょうか。
<?php $a = array( array('title' => 'メロン', 'number' => 1), array('title' => 'りんご'), array('title' => 'ぶどう', 'number' => 2) ); print_r($a); // ★number が空の配列をフィルタリングする function filter_empty_number($i) { return ! empty($i['number']); } $a = array_filter($a, filter_empty_number); print_r($a); ?>
無名関数を使うと、こんな感じに。
<?php ... // ★number が空の配列をフィルタリングする $a = array_filter($a, function($i) { return ! empty($i['number']); } ); print_r($a); ?>
array_filter() のマニュアルは、こちら。
http://php.net/manual/ja/function.array-filter.php
ご回答ありがとうございます。
基本的に配列を作り直すという考え方をすればよいことがわかりました。
もう1点知りたいのが、仮にnumberが数値の場合にnumberが5以上の配列で作りなおすという場合はどのようにすればよいのでしょうか?