$states = "Mississippi Alabama Texas Massachusetts Kansas";
$statesA = explode(' ',$states);
$statesArray = array();
foreach($statesA as $state) {
if(preg_match('/xas$/', trim($state)))
$statesArray[0] = trim($state);
}
foreach($statesA as $state) {
if(preg_match('/^k.*s$/i', trim($state)))
$statesArray[1] = trim($state);
}
foreach($statesA as $state) {
if(preg_match('/^M.*s$/', trim($state)))
$statesArray[2] = trim($state);
}
foreach($statesA as $state) {
if(preg_match('/a$/', trim($state)))
$statesArray[3] = trim($state);
}
foreach($statesA as $state) { #PROBLEM HERE
if(preg_match('/^M/', trim($state)))
$statesArray[4] = trim($state);
}
foreach ($statesArray as $element => $value)
print("Element $element of the Array is $value <br />");
任務是基本上輸出一個以變量狀態字母M開頭的單詞。我有"Mississippi Alabama Texas Massachusetts Kansas"
在$states
。當我嘗試打印出來時,Massachusetts
被打印出來而不是Mississippi
。這是爲什麼?如何通過搜索將字符串放入數組中然後輸出它?
好吧,'馬薩諸塞州'是最後一個匹配的元素,覆蓋了'密西西比河'的前一場比賽。 –