【问题标题】:access and remove element from $data array codeigniter从 $data 数组 codeigniter 访问和删除元素
【发布时间】: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


【解决方案1】:

试试

foreach( $data as $obj ){
  echo $obj->id;
  ..etc.
}

您将对象数组与多维数组混淆了。

或者您可以手动将它们输出为

echo $data[0]->id;

如果你只需要看就说第一个。

无论如何,当您打印整个数组时,这里的赠品就是这一点。

 Array ( [0] => stdClass Object (

看看它在哪里说对象。我们使用[ key ] 访问的数组我们使用$obj->property 访问的对象。

【讨论】:

  • 当然,很高兴我能帮上忙。
猜你喜欢
  • 1970-01-01
  • 2015-06-14
  • 2017-01-30
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 2015-06-12
  • 2022-01-13
相关资源
最近更新 更多