Php 如何访问数组中的元素?
我将4个数组组合成一个名为“questions”的数组。如何逐个显示此数组中的元素 下面给出了PHP代码Php 如何访问数组中的元素?,php,arrays,Php,Arrays,我将4个数组组合成一个名为“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] =>
<?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] =>
)
如何显示这些项目可能是最有用的
foreach($questions as $question) {
var_dump($question->question); // "chairman of isro" for the first one
}
由于您的问题数组包含实例,您可以轻松地显示它们。希望这能帮助您:
要迭代和打印,需要像这样的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*/
更多信息:
因此,首先将对象转换为数组格式,如果您想亲自将其作为数组处理,我更喜欢将其转换为数组格式,而不是对象格式
你说过你的问题有很多关于嵌套数组的问题。访问数组元素的唯一方法是使用循环foreach、whole、for
现在,您的$questions位于一个数组中,您可以这样做:
foreach($questions as $row){
echo $row['question_id'];
echo $row['question'];
//carry on as you wish.
}
这样,您就可以访问所有问题及其嵌套数组。在foreach中,您可以编写代码来处理循环中的数据,或者将一些字段移动到由您决定的新数组中
我的回答也是基于您对上一个关于您想要实现的目标的回答的评论。事实上,$中的问题包含许多问题。打印结果显示其中一个。我想在单击下一个按钮时逐个显示这些问题和选项,为什么不使用嵌套的if语句。如果数组的完整结构是giveI,我会给出一个代码示例。我不明白你的意思,但我不明白为什么这里需要if语句array[0]=>stdClass Object[question\u id]=>15[question]=>Capital of India[category\u id]=>2[exam\u id]=>0[子类别id]=>0[创建]=>0000-00-00 00:00:00.00000[修改]=>0000-00-00-00:00:00.00000[选项a]=>Tvm[选项b]=>德里[选项c]=>Agra[选项d]=>拉合尔[正确答案]=>德里[解释]=>是的,您有一个stdClass实例数组,所以只需在该数组上循环并通过->name显示问题,这将很好地工作,您所说的这些项目是什么意思?正如您在输出中看到的,$questions[1]不是数组,而是stdClass类型的对象是如何显示stdClass?类型的这些对象?。当我合并数组时,它会像这样自动出现。如果一次显示所有问题,可能会出现重复。但对于显示$questions[1],它不起作用。如何在类中显示对象?
foreach($questions as $row){
echo $row['question_id'];
echo $row['question'];
//carry on as you wish.
}