2012-02-24 7 views
0

phpクラスを開発している間、私はPHPの中でやや面白いことをしてきました。私が配列、いくつかの単一のキー、そしてそのキー内の配列を作成する場合、配列キーではなく数字だけをエコーし​​ます。それはなぜですか、どうすれば修正できますか?配列(配列を持ついくつかのキー、ある種の単数)

<?php 

    $example = array('name' => array('required' => true), 'email'); 

    foreach($example as $field => $value) { 
     echo $field; 
    } 

?> 

あなたは要素[メール]のキーを定義していないので、これはNAME0ではなく、nameemail

+7

をnameemail表示したい場合はそれほど厳密に配列のキーは0

、「名前」です。あなたの配列は実際に 'Array( 'name' => Array、0 => 'email')'のように見えます。 – animuson

+0

あなたが再帰的に呼び出す必要があるかどうかを知るためにis_arrayを使用してください。 – hackartist

答えて

2

あなたはおそらくこれが欲しい::

<?php 

    $example = array('name' => array('required' => true), 'email'); 

    foreach($example as $field => $value) { 
     if(is_array($value)){ 
      echo $field; 
     }else{ 
      echo $value; 
     } 
    } 

?> 
+1

ありがとう、私の間違いは時々愚かなものです:) –

0

を返します。あなたが行っている場合は、この:あなたはまた、この行っている可能性

name email 

:あなたが得ているでしょう
$example = array('name' => array('required' => true), 'email' => '[email protected]'); 

$example = array('name' => array('required' => true), 'email' => ''); 

そしてませんが持っていたがために値を定義します'電子メール'要素。

0

私は「電子メール」はキーが、要素ではないことを推測します。 uは `email`が値ではなく、鍵となるためだ

<?php 

    $example = array('name' => array('required' => true), 'email'=>array()); 

    foreach($example as $field => $value) { 
     echo $field; 
    } 

?> 
+0

@Pheonixのような配列であるかどうかをチェックすると、それは、空の配列を作成する必要はありませんが、アイデアに感謝します。 –

関連する問題