php多维数组问题

时间:2013-10-04 12:07:46

标签: php arrays multidimensional-array php-5.4

我想从我的数组中只输出1个名称数据:

Array
(
    [results] => Array
      (
        [0] => Array
            (
                [0] => some name
                [1] => Founder
            )

        [1] => Array
            (
                [0] => some name
                [1] => Marshal
            )

        [2] => Array
            (
                [0] => some name
                [1] => Marshal
            )

        [3] => Array
            (
                [0] => some name
                [1] => Royal Knight
            )

        [4] => Array
            (
                [0] => some name
                [1] => Knight
            )
    )

)
1

现在我使用:

echo "<pre>";
echo print_r($API->getSearchFreeCompanyMembers());
echo "</pre>";

打印似乎工作正常的数组但是当我尝试选择单个数组时:

echo "<pre>";
echo print_r($API->getSearchFreeCompanyMembers(1)[0]);
echo "</pre>";

我得到的只是页面上的1

如果需要更多代码,请提供任何帮助,请告知我们。

4 个答案:

答案 0 :(得分:3)

在调用方法时,您似乎更改了参数。 getSearchFreeCompanyMembers

您的第一个示例显示getSearchFreeCompanyMembers() 第二个是getSearchFreeCompanyMembers(1)

获取方法返回的数组中的第一个元素。

<强> 1。像你一样取消引用(只是不要把1作为参数)。

$result = $API->getSearchFreeCompanyMembers()[0]

注意副作用是返回的数组的其余部分被丢弃。此功能仅适用于&lt; = 5.4

<强> 2。将返回的数组保存到变量并选择第一个元素

$array = $API->getSearchFreeCompanyMembers();
print_r($array[0]);

有关数组和解除引用的更多信息,请参阅示例#7 http://php.net/manual/en/language.types.array.php

答案 1 :(得分:2)

您可以尝试这样的事情

$array = $API->getSearchFreeCompanyMembers();
echo $array['results'][0][1]; // first name (Founder)
echo $array['results'][1][1]; // second name (Marshal)

或者,使用(some name

echo $array['results'][0][0]; // first ('some name')
echo $array['results'][1][0]; // second ('some name')

此处,results是一个关联数组,第一个数组是[0][0]中的每个数组([1]results)都包含一个数组。所以,就像这样

$array = Array(
    'results' => Array (
        Array ( 'some name', 'Founder' ), // 1st array in results
        Array ( 'some name', 'Marshal' )  // 2nd array in results
    )
);

答案 2 :(得分:0)

echo "<pre>";
$members = $API->getSearchFreeCompanyMembers();
print_r($members['results'][0]); //no echo needed
echo "</pre>";

答案 3 :(得分:0)

喜欢打印数组结果键[0]值[1]即创始人。你必须像这样打电话给阵列    在print_r之前不需要echo

        echo "<pre>";
        print_r($results [0][0]);
        echo "</pre>";

同样适用于

 echo "<pre>";
$employee=$API->getSearchFreeCompanyMembers();
print($employee['results'][1][0]);
echo "</pre>";