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

上記の「データ構造」に基づいて、この 'placeholder' => 'content' がどのように配列と見なされるのかわかりません....どちらの場合でも、var ダンプされる配列の一部としてそれを望んでいません....それは、戻ってくるその var ダンプの 2 番目の配列である必要があります。

そして、それが皆さんの出番です。なぜプレースホルダーが配列として返されるべきではないのに戻ってくるのですか (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 に答える