2017-08-02 11 views
0

以内に私は、誰かが私が私がここで間違ってやっているものにとして知らせてください可能性がPHPに新しいです: -PHPの連想配列のif-else

<?php 
$arr = array(
'firstName' => 'Manav', 
'lastName' => 'Saxena', 
'users' => array(
    array( 'Name' => 'John', 
    'age' => 24), 
    array('Name' => 'Unknown', 
    'age' => 22) 
)); 

if($arr['firstName'] == 'Manav'){ 
    echo "Hello $arr['firstName']"; 
} 

foreach($arr['users'] as $user){ 
    echo "$user['Name'] is $user['age'] years old!"; 
} 

?> 
+0

の可能性のある重複した[エコーいくつかの文字列と1行のコードで多次元配列の要素](https://stackoverflow.com/質問/ 11085570/echo-some-string-and-multidimensional-array-code-in-one-line-of-code) –

+0

http://php.net/manual/en/language.types.string.php#を参照してください。 language.types.string.parsing.complex –

+0

どういう意味ですか?あなたの質問を明確にしてください。 – Zico

答えて

5

表示中に引用符をつぶすだけです。あなたのコードを変更します。

$arr = array(
'firstName' => 'Manav', 
'lastName' => 'Saxena', 
'users' => array(
    array( 'Name' => 'John', 
    'age' => 24), 
    array('Name' => 'Unknown', 
    'age' => 22) 
)); 

if($arr['firstName'] == 'Manav'){ 
    echo "Hello $arr[firstName]"; 
} 

foreach($arr['users'] as $user){ 
    echo "$user[Name] is $user[age] years old!"; 
} 

Demo

+1

これは '$ user ['Name']' –

+2

の内容をエコーし​​ません。内容をエコーし​​ます。試してみてください。@C̅R̅O̅Z̅E̅T̅ –

+1

デモリンクも追加しました。それを確認してください –

1

あなたは、このよう

if($arr['firstName'] == 'Manav'){ 
    echo "Hello ". $arr['firstName']." "; 
} 

foreach($arr['users'] as $user){ 
    echo $user['Name']. "is ". $user['age']." years old!"; 
} 
を書く必要があります
1

それはあなたに構文解析エラーが発生します。物事を明確にするために、値を文字列に連結してみてください。

PHPは二重引用符間の変数を検索しますが、一重引用符間では検索しません。したがって、ここでシングルクォートを使用すると、パフォーマンス上のメリットが得られます。

if($arr['firstName'] == 'Manav'){ 
    echo 'Hello '.$arr['firstName']; 
} 

foreach($arr['users'] as $user){ 
    echo $user['Name'].' is '.$user['age'].' years old!'; 
} 
2

方法1

以下のような文字列を持つだけでconcatenate変数:

if($arr['firstName'] == 'Manav'){ 
    echo "Hello ".$arr['firstName']; 
} 

foreach($arr['users'] as $user){ 
    echo $user['Name']." is ".$user['age']." years old! <br>"; 
} 

方法2:簡単な内部の単一引用符を削除します。

if($arr['firstName'] == 'Manav'){ 
    echo "Hello $arr[firstName]"; 
} 

foreach($arr['users'] as $user){ 
    echo "$user[Name] is $user[age] years old! <br>"; 
} 
1

あなたはこれであなたのコードを置き換え構文エラー を持っている:

<?php 
    $arr = array(
     'firstName' => 'Manav', 
     'lastName' => 'Saxena', 
     'users' => array(
      array( 
       'Name' => 'John', 
       'age' => 24), 
        array( 
         'Name' => 'Unknown', 
         'age' => 22 
        ) 
      ) 
    ); 

    if($arr['firstName'] == 'Manav'){ 
     echo "Hello ".$arr['firstName']; 
    } 

    foreach($arr['users'] as $user){ 
     echo $user['Name']." is ".$user['age']." years old!"; 
    } 

?>