Php 取消设置对象中的属性
我正在尝试取消对象中的某些内容Php 取消设置对象中的属性,php,arrays,unset,Php,Arrays,Unset,我正在尝试取消对象中的某些内容 foreach($curdel as $key => $value) { if ($value == $deletedinfo[0]) { print_r($key); print_r($curdel); unset($curdel[$key]); } } 与预期一样,$key返回正确的值(0),而$curdel返回整个数组。但是试图取消设置$curdel[$key]会破坏一切。即使试图打印($curdel[$key])也会破坏一切
foreach($curdel as $key => $value) {
if ($value == $deletedinfo[0]) {
print_r($key);
print_r($curdel);
unset($curdel[$key]);
}
}
与预期一样,$key
返回正确的值(0),而$curdel
返回整个数组。但是试图取消设置$curdel[$key]
会破坏一切。即使试图打印($curdel[$key])也会破坏一切,我还缺少什么
我的对象如下所示:
stdClass Object ( [0] => IFSO14-03-21-14.csv [2] => EB_Bunny.jpg [3] => EB_White_Bear.jpg )
该问题的可能解决方案是添加对
$value
变量的引用:
foreach($curdel as $key => &$value) { //Note & sign
if ($value == $deletedinfo[0]) {
print_r($key);
print_r($curdel);
unset($curdel[$key]);
}
}
&$value
表示对实际数组元素的引用
答案也基于此(类似)示例:
更新
基于您的输入(STDClass而不是array):只需首先将$curdel
强制转换为array:
$curdel = (array) $curdel ;
对象中的数字索引有点无效,只能通过以下特殊语法访问:
$object->{'0'} ;
这是一种非常糟糕的做法。解决该问题的可能方法是添加对
$value
变量的引用:
foreach($curdel as $key => &$value) { //Note & sign
if ($value == $deletedinfo[0]) {
print_r($key);
print_r($curdel);
unset($curdel[$key]);
}
}
&$value
表示对实际数组元素的引用
答案也基于此(类似)示例:
更新
基于您的输入(STDClass而不是array):只需首先将$curdel
强制转换为array:
$curdel = (array) $curdel ;
对象中的数字索引有点无效,只能通过以下特殊语法访问:
$object->{'0'} ;
这是一种非常糟糕的做法。而不是:
unset($curdel[$key]);
尝试:
数组通过[]访问/修改,但对象和类属性通过->访问,而不是:
unset($curdel[$key]);
尝试:
数组是通过[]访问/修改的,但是对象和类属性是通过->什么意思-打破一切?有真正的错误信息吗?会破坏一切吗?错误是什么?没有错误,在我尝试后没有任何渲染。print\u r$curdel返回:
stdClass对象([0]=>IFSO14-03-21-14.csv[2]=>EB\u Bunny.jpg[3]=>EB\u White\u Bear.jpg)
因此对于以后的问题,这个数据结构是一个具有数字属性的对象,而不是一个“对象数组”。我怀疑如果你使用这个短语,人们会认为你指的是一个实现接口的类。你是什么意思-破坏一切?有真正的错误信息吗?会破坏一切吗?错误是什么?没有错误,在我尝试后没有任何渲染。print\u r$curdel返回:stdClass对象([0]=>IFSO14-03-21-14.csv[2]=>EB\u Bunny.jpg[3]=>EB\u White\u Bear.jpg)
因此对于以后的问题,这个数据结构是一个具有数字属性的对象,而不是一个“对象数组”。我怀疑如果你使用这个短语,人们会认为你指的是一个实现接口的类。foreach和if似乎不是两个print\r的问题。说真的,请解释一下你有什么输入以及你需要得到什么最终结果。发布更多可能导致问题的代码,我们将帮助您破坏一切
与错误\u未找到
根据当时可用的信息,我认为这是一个很好的答案:对象!=对象数组
!foreach和if似乎不是两个印刷品即将发行的问题。认真地说,只需解释一下你有什么投入以及你需要得到什么最终结果。发布更多可能导致问题的代码,我们将帮助您破坏一切
与错误\u未找到
根据当时可用的信息,我认为这是一个很好的答案:对象!=对象数组
!这家伙,这家伙知道怎么回事,这家伙,这家伙知道怎么回事。