此数组由$this->load->var($data)
传递,带有一些全局变量。我需要从var
为我实例化的关联数组中提取下面的数组。该数组目前看起来像这样:注意下面的多维数组。
Dump => array(1) {
[9] => array(1) {
[0] => object(stdClass)#21 (8) {
["day"] => string(2) "09"
["eventContent"] => string(14) "slug ok"
["eventTitle"] => string(4) "Slug"
["id"] => string(1) "4"
["user"] => string(3) "CZL"
["user_id"] => string(1) "1"
["slug"] => string(4) "Slug"
["eventDate"] => string(10) "2013-07-09"
}
}
}
我需要将其转换为如下所示: 注意下面的单维数组。
Dump => array(1) {
[0] => object(stdClass)#21 (7) {
["day"] => string(2) "09"
["eventContent"] => string(14) "slug ok"
["eventTitle"] => string(4) "Slug"
["id"] => string(1) "4"
["user"] => string(3) "CZL"
["user_id"] => string(1) "1"
["slug"] => string(4) "Slug"
["eventDate"] => string(10) "2013-07-09"
}
}
除了将多重转换为单个数据外,还有一种方法可以从多维数组中调用奇异数组吗?
我在多维数组上使用foreach,但输出不正确。这是我正在使用的。 calendars
是我传递给它的数组。
foreach ($calendars as $calendar) {
$url = calendar_link($calendar);
$string .= '<li>';
$string .= '<h3>' . anchor($url, e($calendar->eventTitle)) . ' ›</h3>';
$string .= '<p class="pubdate">' . e($calendar->eventDate) . '</p>';
$string .= '</li>';
}
function calendar_link($calendar){
return 'calendar/event/' . intval($calendar->id) . '/' . e($calendar->slug);
}
答案 0 :(得分:0)
如果多维数组看起来与转储完全一样,那么你应该可以做类似的事情:
$calendar_single = $calendars[9]; // I dont know why you get 9 as array key here?
然后你应该有一个包含一个对象的数组。
如果您想直接联系该对象,请尝试以下方法:
$calendar_object = $calendars[9][0];
然后你应该工作:
foreach ($calendar_object as $calendar) { ...
不是最好的解决方案,如果您的数组键(9)将更改,它将无法工作..
您还可以尝试一种更通用的解决方案,无论数组键索引如何都可以正常工作:
foreach($multi as $single){ foreach($single as $object){ foreach($object as $calendar){ // YOUR CODE HERE calendar_link($calendar); // ETC… } } }