【发布时间】:2015-09-25 20:10:03
【问题描述】:
我有一个由查询填充的关联数组 $data['arr1']。我需要遍历数组,检查每个记录的特定值,如果记录存在,则从数组中删除该记录。这是我的代码:
foreach($data['arr1'] as $key => $row) {
// code for checking the value in a record. Cannot access the element here. I have
tried to print with these statements
echo $data['arr1'] -> Firstname;
echo $data['arr1'] [0];
echo $data['arr1'][$key];
echo [$key]; // gives me the values of index 0,1,2,3
if(//check is true)
{
unset($data['arr1'][$key]); //works fine, removes elements as needed
}
}
如何访问元素以进行检查?我认为这是data['arr1'] 和$key 的组合,但我找不到正确的组合。此外,当我执行print_r($data['arr1']) 时,它会正确打印整个数组。如:
Array ( [0] => stdClass Object ( [Id] => 107 [assessmentTime] => 0000-00-00 00:00:00 [Gender] => 1 [DOB] => 2009-05-06 12:00:00 [Village] => Bhains [Tehsil] => 1 [UnionCouncil] => 2 [Snap] => 582864.jpg [WhyWeDisable] => [HasDeleted] => 0 [CallerID] => 0 [vTime] => 0000-00-00 00:00:00 [CaseId] => 98 ) [1] => stdClass Object ( [Id] => 57 [FirstName] => ..............
任何帮助将不胜感激。
【问题讨论】:
-
你需要从数组中删除一个元素吗??
-
是的,并且该元素已被很好地删除。但我需要在删除它之前访问该元素,我不能这样做
-
首先不要对数组使用 echo,使用 print_r($array)、var_export($array) 或 var_dump($array);但在这些之前 echo '
';用于格式化,所以 echo '
'; var_export($data);
-
prin_r($array) 一次性打印整个数组。我需要分别打印每条记录。我该怎么做?
-
print_r($array[$key]);除非它说 stdclass,否则它是一个对象并且你使用 -> 所以你做 print_r($data[0]->id);要获取 id,基本上是 print_r($data[0]);或 print_r($data[1]);获取对象,然后使用箭头标准访问其属性 ->
标签: php mysql arrays codeigniter