[英]PHP IF statement within a FOREACH loop
經過幾年的休假后再返回PHP,僅用於個人項目。
我在讓if語句在foreach循環內工作時遇到麻煩。 我試圖讓代碼在數組之一等於某個單詞的情況下回顯一個附加值。
到目前為止,我的代碼是:
$test = array('test1', 'test2', 'test3', 'test4', 'test5');
foreach ($test as $value){
if ($value == "test2"){
$secondValue = "value";
}
echo $value . $secondValue . "<br />";
}
我期望這將輸出以下內容:
test1
test2value
test3
test4
test5
但是它輸出...
test1
test2value
test3value
test4value
test5value
關於我要去哪里的任何想法? 非常感謝
您必須清除/重置$ value
$test = array('test1', 'test2', 'test3', 'test4', 'test5');
foreach ($test as $value){
$secondValue ="";
if ($value == "test2"){
$secondValue = "value";
}
echo $value . $secondValue . "<br />";
}
循環完成后,您再也不會將$secondValue
重置$secondValue
空字符串,因此它始終具有一個值(字面上)。
$test = array('test1', 'test2', 'test3', 'test4', 'test5');
foreach ($test as $value){
$secondValue = null;
if ($value == "test2"){
$secondValue = "value";
}
echo $value . $secondValue . "<br />";
}
確保在每次迭代時重置$ secondValue。
$test = array('test1', 'test2', 'test3', 'test4', 'test5');
foreach ($test as $value){
$secondValue = '';
if ($value == "test2"){
$secondValue = "value";
}
echo $value . $secondValue . "<br />";
}
foreach ($test as $value){
if ($value == "test2"){
echo $value . $secondValue . "<br />";
}
else
echo $value . "<br />";
}
請使用此代碼,因為這是一個簡短的答案。
$test = array('test1', 'test2', 'test3', 'test4', 'test5');
foreach ($test as $value){
echo $value . ($value == 'test2' ? 'value' : '') . "<br />";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.