您好我想知道是否可以在没有foreach循环的情况下完成此操作。我试图提取数据,但它继续循环。我只想运行一次并将值存储为数组。请你协助我这样做。我是php的新手,所以如果它看起来很基本我道歉。提前谢谢。
foreach ($result->titles as $title)
{
"Title ID" => $title->id,
"Title" => $title->title_name,
"Created On" => $month_created_on,
"Solved On" => $solved_on ,
"Status" => $title->status,
}
答案 0 :(得分:0)
要运行一次,您不需要循环。只需直接访问$result->titles
数组中的第一个元素即可。这假设数组以数字方式编制索引,并且第一个元素位于索引0
。如果不是这种情况,请修改[0]
以引用第一个元素。
$title_data = array(
"Title ID" => $result->titles[0]->id,
"Title" => $result->titles[0]->title_name,
"Created On" => $month_created_on,
"Solved On" => $solved_on ,
"Status" => $result->titles[0]->status,
);
答案 1 :(得分:0)
执行此操作时:
"Title ID" => $title->id
它是关联数组表示法,您使用标题ID 作为键,$title->id
作为值。为了使代码成为可能,它需要像这样:
foreach ($result->titles as $title)
{
$newValues[] = array("Title ID" => $title->id,
"Title" => $title->title_name,
"Created On" => $title->month_created_on,
"Solved On" => $title->solved_on ,
"Status" => $title->status
);
}
但真正做的就是将$result->titles
数组重新分配为具有自己的自定义键的关联数组。我不确定这是否是你想要的。
要获得result->titles
的第一个元素,请执行以下操作:
$title_id = $result->titles[0]->id;
$title_name = $result->titles[0]->title_name;
// etc...
答案 2 :(得分:0)
是的,您可以使用while
和each
的组合来实现foreach
可以执行的相同操作
示例
$all = array ();
while ( list ( , $data ) = each ( $result->titles ) ) {
$array = array ();
while ( list ( $key, $value ) = each ( $data ) ) {
$array [$key] = $value;
}
$all [] = $array;
}
echo "<pre>";
print_r ( $all );