如何访问数组内部的元素?

时间:2018-05-09 07:22:29

标签: php arrays

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

如何显示这些项目

3 个答案:

答案 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中,您可以编写代码来处理循环内的数据,或者将某些字段移动到由您决定的新数组中。

我的回答也是基于您对先前答案的评论,以及您希望实现的目标。