访问PHP数组元素

时间:2016-02-26 10:55:09

标签: php arrays

我很难访问我的PHP数组中的特定项目,这个项目就是这样创建的array('expected' => array('form', 'title'))

.Array
(
    [expected] => Array
        (
            [0] => form
            [1] => title
        )

)

我想访问第一个数组的标题( expect )以及此数组中元素的值(表单 title < / em>的) 我尝试了array_values()key等方法,但我从未得到正确的结果。

修改 感谢Aamir,这个问题就解决了。 实际上,这是因为我将数组作为参数传递给方法,默认情况下我将其设置为null。是的,我知道,愚蠢的东西。

5 个答案:

答案 0 :(得分:2)

问题很模糊,可以通过以下方式回答:使用RecursiveTreeIterator

<?php
$x = array(
    'level1' => array(
        'item1.1',
        'level2'=>array(
            'item2.1',
            'item2.2',
            'level3'=>array(
                'item3.1'
            )
        ),
        'item1.2'
    )
);

$it = new RecursiveTreeIterator( new RecursiveArrayIterator($x), RecursiveIteratorIterator::SELF_FIRST );
foreach($it as $line) {
    echo $line, PHP_EOL;
}

打印

\-Array
  |-item1.1
  |-Array
  | |-item2.1
  | |-item2.2
  | \-Array
  |   \-item3.1
  \-item1.2

您可能想要优化您的问题....

答案 1 :(得分:1)

foreach($array as $key => $value){
 echo $key; //expected
 echo $value[0]; //form
 echo $value[1]; //title

 //OR if you have more values then 
foreach ($value as $key1 => value1){
  echo $value1; //form in 1st iteration and title in 2nd iteration
 }}

答案 2 :(得分:0)

试试这个:

   $array = array('expected' => array
        (
            0 => 'form',
        1 => 'title',
        )

);
$expected= $array['expected'];
$form = $expected[0];
$title = $expected[1];

答案 3 :(得分:0)

使用以下代码: -

$my_array = Array
(
    'expected' => Array
        (
            '0' => 'form',
            '1' => 'title'
        )

);

echo $form =  $my_array[key($my_array)][0];  // print form 
echo $title = $my_array[key($my_array)][1];  //print title 

希望它会对你有所帮助:)。

答案 4 :(得分:0)

试试这个:

<?php
$array = array('expected' => array('form', 'title'));
function  testFunc($array)
{

  foreach ($array as $key=>$value) {

      if(is_string($key))
      {
          echo $key."<br>";
      }

       if(is_string($value))
      {
          echo $value."<br>";
      }
    if(is_array($value))
    {
        testFunc($value);
    }

}  
}
testFunc($array);
?>

输出:

expected
form
title