抱歉提出了很多問題 - 我今天寫了很多代碼,然後開始一次調試。數組的foreach元素,執行函數
我想通過一個函數運行數組中的每個元素,所以我選擇了做一個「foreach」循環。這裏是我的代碼:
//Set up mod and polarity associative arrays
$mod_array = array(
"image_mod1" => "$page_mod1",
"image_mod2" => "$page_mod2",
"image_mod3" => "$page_mod3",
"image_mod4" => "$page_mod4",
"image_mod5" => "$page_mod5",
"image_mod6" => "$page_mod6",
"image_mod7" => "$page_mod7",
"image_mod8" => "$page_mod8"
);
$polarity_array = array(
"image_polarity1" => "$page_polarity1",
"image_polarity2" => "$page_polarity2",
"image_polarity3" => "$page_polarity3",
"image_polarity4" => "$page_polarity4",
"image_polarity5" => "$page_polarity5",
"image_polarity6" => "$page_polarity6",
"image_polarity7" => "$page_polarity7",
"image_polarity8" => "$page_polarity8"
);
foreach($mod_array as $string)
{
convertImageMod($string);
}
foreach($polarity_array as $string)
{
convertImagePolarity($string);
}
然而,當我回聲字符串(echo $page_polarity6;
),即回聲文字,彷彿尚未應用的功能。
這裏是我的函數定義:
function convertImageMod($string)
{
$string = preg_replace('/\s+/', '', $string);
$string = str_replace("'", "", $string);
$stringlength = strlen($string);
$stringlength -= 3;
$string = substr ($string, 0, $stringlength);
$string = strtolower ($string);
$string = "<img src=\"images/items/{$string}.png\">";
return $string;
}
function convertImagePolarity($string)
{
$string = "<img src=\"images/items/{$string}.png\">";
return $string;
}
我不能做的事情嗎?
謝謝!
除非您使用引用,否則需要將函數的結果重新分配到數組中。 – Barmar
即使您確實分配了結果,它也會更改數組,而不是其數值在數組中的變量。 – Barmar
順便說一句,你不需要把變量放在數組賦值中的引號內。 – Barmar