Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何访问数组中的元素?_Php_Arrays - Fatal编程技术网

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] =>

我将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] => 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.

}