在php中从数组中删除一些数据
我想在PHP中从数组中删除一些数据。以下是阵列:在php中从数组中删除一些数据,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我想在PHP中从数组中删除一些数据。以下是阵列: array(4) { [0]=> array(1) { ["image"]=> string(20) "w85YrKChBGTZ9fQS.jpg" } [1]=> array(1) { ["image"]=> string(20) "3buahEs6rRWFdYez.jpg" } [2]=> array(1) {
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(){
foreach(getCarImages()作为$array){
//变量转储($array)。“
”;
$index=array_search('w85YrKChBGTZ9fQS.jpg',$array);
如果($index!==FALSE){
var_dump($index)。“
”;
未设置($array[$index]);
}否则{
回声“
这里的其他”;
}
}
}
下面是deleteImage()的结果
字符串(5)“图像”
否则
这里
否则
这里
否则
这里
我很困惑。如何从主阵列中删除嵌套阵列。如果需要从阵列中删除整个子阵列,请使用函数:
public function deleteImage(){
return array_filter(getCarImages(), function ($v) {
return $v['image'] != 'w85YrKChBGTZ9fQS.jpg';
});
}
更新:匿名函数不知道$imageName
变量。您必须使用它:
public function deleteImage($imageName = null)
{
$myarray = array_filter(
getCarImages(),
function ($v) use ($imageName) { return $v['image'] != $imageName; }
);
}
您可以将图像转换为函数的引用
public function deleteImage(&$images){
foreach ($images as $k => $array){
//var_dump($array).'<br>';
$index = array_search('w85YrKChBGTZ9fQS.jpg',$array);
if($index !== FALSE){
var_dump($index).'<br>';
unset($images[$k]);
}else{
echo '<br>else here';
}
}
}
公共函数deleteImage(&$images){
foreach($k=>$array的图像){
//变量转储($array)。“
”;
$index=array_search('w85YrKChBGTZ9fQS.jpg',$array);
如果($index!==FALSE){
var_dump($index)。“
”;
未设置($images[$k]);
}否则{
回声“
这里的其他”;
}
}
}
尝试如果($index)
。如果未找到项,则array\u search
返回空。请发布getCarImages()
函数。deleteImage()
实际上要做什么?有返回值吗?文件函数?数据库查询?它工作正常,但我想设置动态值,比如这个公共函数deleteImage($imageName=null){$myarray=array_filter(getCarImages(),函数($v){return$v['image']!=$imageName;});但它给了我一个错误信息:未定义变量:ImageName非常感谢..!:)@Krisrowe我们可以公开要求投票。我应该在我最好的答案上这样做。@mickmackusa是的,你是对的。我接受你的建议。