我将4 arrays
合并到一个名为“questions
”的数组中。如何逐个显示这个数组中的元素?
下面给出了PHP代码
<?php
$questions = array_merge($gk,$english,$malayalam,$maths);
print_r($questions[1]);
?>
并且打印显示如下:
stdClass Object
(
[question_id] => 18
[question] => chairman of isro
[category_id] => 2
[exam_id] => 0
[subcategory_id] => 0
[category_name] =>
[subcategory_name] =>
[created] => 0000-00-00 00:00:00.00000
[modified] => 0000-00-00 00:00:00.00000
[option_a] => hg
[option_b] => k sivan
[option_c] => hg
[option_d] => fd
[correct_answer] => k sivan
[explanation] =>
)
如何显示这些项目
答案 0 :(得分:1)
foreach - 可能是最有用的东西。
public void BinarySearch(int[] numlist, int value)
{
int min = 0;
int max = numlist.Length - 1;
int index = -1;
while (min <= && index == -1)
{
int mid = (min + max) / 2;
if (value > numlist[mid])
{
min = mid + 1;
}
else if ( value< numlist[mid])
{
max = mid - 1;
}
else
{
index = mid;
}
}
return index;
}
由于您的foreach($questions as $question) {
var_dump($question->question); // "chairman of isro" for the first one
}
数组包含stdClass个实例,您可以轻松地显示它们。
答案 1 :(得分:0)
希望这会对您有所帮助:
迭代并打印你需要foreach
这样的循环
$questions = array_merge($gk,$english,$malayalam,$maths);
if (! empty($questions))
{
foreach($questions as $question) {
echo $question->question_id; /*output 18*/
echo $question->question; /*output chairman of isro*/
/*..... all others*/
}
}
对于单个问题,您可以这样做:
$questions[0]->question_id;
$questions[0]->question;
$questions[1]->question_id; /*output 18*/
$questions[1]->question; /*output chairman of isro*/
了解更多:http://php.net/manual/en/control-structures.foreach.php
答案 2 :(得分:0)
$questions= json_decode(json_encode($questions), true);
首先,如果你想把它作为一个数组处理,你的对象就会变成数组格式(我个人更喜欢把它作为数组而不是对象格式)。
你说你的问题对嵌套数组有很多问题。访问数组元素的唯一方法是使用循环(foreach,whole,for)。
现在您的$问题都在数组中,您可以这样:
foreach($questions as $row){
echo $row['question_id'];
echo $row['question'];
//carry on as you wish.
}
通过这种方式,您可以访问所有问题及其嵌套数组。在foreach中,您可以编写代码来处理循环内的数据,或者将某些字段移动到由您决定的新数组中。
我的回答也是基于您对先前答案的评论,以及您希望实现的目标。