2017-08-02 44 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

的可能的複製[迴音一些字符串和一行代碼多維數組(https://stackoverflow.com/ questions/11085570/echo-some-string-and-multi-dimensional-array-element-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

concatenate只要用繩子等可變下面

方法1:

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

?>