PHPの配列からデータを削除したい。ここでは、配列は次のとおりです。ここでPHPのArrayからデータを削除する
array(4) {
[0]=> array(1) { ["image"]=> string(20) "w85YrKChBGTZ9fQS.jpg" }
[1]=> array(1) { ["image"]=> string(20) "3buahEs6rRWFdYez.jpg" }
[2]=> array(1) { ["image"]=> string(20) "gYPtDrx3sFzkVENB.jpg" }
[3]=> array(1) { ["image"]=> string(20) "JE3rodDvs6521cFm.jpg" }
}
は私の方法と私は削除しています:
public function deleteImage(){
foreach (getCarImages() as $array){
//var_dump($array).'<br>';
$index = array_search('w85YrKChBGTZ9fQS.jpg',$array);
if($index !== FALSE){
var_dump($index).'<br>';
unset($array[$index]);
}else{
echo '<br>else here';
}
}
}
そして、ここではdeleteImage()
文字列の結果は、(5) "画像"
ですelse
012ここ他
ここで他のここ
私は混乱しています。どのようにしてメインアレイからネストされた配列を削除できますか?
public function deleteImage(){ return array_filter(getCarImages(), function ($v) { return $v['image'] != 'w85YrKChBGTZ9fQS.jpg'; }); }
更新:匿名関数はおよそ
$imageName
変数を知らないあなたは、アレイから全体の部分配列を削除する必要がある場合
「if($ index)」を試してください。 itemが見つからない場合、 'array_search'は空を返します。 – urfusion
あなたの 'getCarImages()'関数を投稿してください。実際にやるべき 'deleteImage()'とは何ですか?戻り値はありますか?ファイル機能?データベースクエリ? – mickmackusa