2015-11-16 40 views
-1

只學習一些PHP。學習PHP,數組不工作應該如何應該

下面的數組不迴應"You own a $cars[0], its color is $color"

但是如果我改變,$color(in_array($color, $cars))(in_array(toyota, $cars)),它回聲"You own a toyota, its color is blue"

<?php 
error_reporting(E_ALL^E_NOTICE); 
$cars = array('toyota', 'nissan', 'honda'); 
$color = "blue"; 
if (in_array($color, $cars)) { 
echo "<H1>You own a $cars[0], its color is $color</H1>"; 
} 
else 
{ 
echo "<H1>I don't know what kind of car you have, so I don't I 
don't know the color either.</H1>"; 
} 
?> 

有人能解釋一下爲什麼?

+0

你的顏色「藍色」不是汽車的陣列。如果您測試了諸如「toyota」之類的東西,它會返回true。 – halfer

+0

這是因爲數組$ cars中不存在值「blue」。 –

+4

如果PHP會自動識別汽車的顏色,那將會很酷。 –

回答

2

in_array檢查是否在array存在的價值和blue不在該數組

在這種情況下,它會給你真正的結果

if (in_array('toyota', $cars)) 
+0

我該如何編碼才能讓它回聲「你擁有一輛豐田車,它的顏色是藍色的」而不是「我不知道你有什麼樣的車,所以我也不知道它的顏色。 「這是我現在可以打印的唯一東西。謝謝。 – CNedas

+0

$ cars = array('toyota','nissan','honda'); $ color = array('blue','black','red'); $ car_color =「blue」; if(in_array($ car_color,$ color)){ echo「

您擁有$ cars [0],其顏色爲$ car_color

」; } –

+0

嘗試這樣的代碼@CNedas –

2

價值blue肯定不是在數組中。

in_array()檢查給定數組中是否存在該值,並且blue不在該數組中。

既然你有array('toyota', 'nissan', 'honda'),那裏的值是'toyota', 'nissan', 'honda'