回到非阵列

时间:2012-12-10 14:52:08

标签: php arrays

当谈到php中的数组时,我似乎遇到了心理问题。我不知道为什么,我的阵列看起来像这样:

  $elementOptions = array(
       array(
          'type' => 'Text',
          'name' => 'test' ,
          'isRequired' => true,
          'attributes' => array(
          'placeholder' => 'content'  
      ),

      'subFormName' => 'content'
  );

我为每个循环都有一个:

foreach ($options as $key => $value) {
    if (is_array($value)) {
        //do something else
    } else {
        //do something                 
    }        
}

问题是,如果我在if(isarray()){}中进行var转储,我得到以下内容:

array(1) {
  ["placeholder"]=>
  string(7) "content"
}

array(4) {
  ["type"]=>
  string(4) "Text"
  ["name"]=>
  string(4) "test"
  ["isRequired"]=>
  bool(true)
  ["attributes"]=>
  array(1) {
    ["placeholder"]=>
    string(7) "content"
  }
}

现在问题是 - 我不想在var转储中使用以下内容:

array(1) {
  ["placeholder"]=>
  string(7) "content"
}

我不确定,根据上面的“数据结构”,这个'占位符'=> 'content'被认为是一个数组.....在任何一种情况下我都不希望它作为var转储的数组的一部分......它应该只是该var转储中的第二个数组。

那就是你们进来的地方,为什么地方持有者不应该回来作为阵列(TMK - 据我所知)。

1 个答案:

答案 0 :(得分:0)

“占位符”=>“内容”不被视为数组或作为数组返回,它是数组中的一对,您称之为“属性”

array(4) {
  ["type"]=>
  string(4) "Text"
  ["name"]=>
  string(4) "test"
  ["isRequired"]=>
  bool(true)

  ["attributes"]=> // this is your array
  array(1) {       // contents of this array are...
    ["placeholder"]=>   // this is a key
    string(7) "content" // this is a variable
  }                // array ends
}