0

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

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

      'subFormName' => 'content'
  );

我有一个 for each 循环:

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"
}

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

这就是你们进来的地方,为什么占位符不应该作为一个数组回来(TMK - 据我所知)。

4

1 回答 1

0

"placeholder"=>"content" 不被视为数组或作为数组返回,它是数组中的一对,您称为“属性”

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
}
于 2012-12-10T15:08:53.567 回答