如何從給定的字符串中創建一個數組,例如22 || 33 || 50並查看給定的數字是否與上面的數字類似聰明嗎?如何創建一個數組查看數值是否在數組中
我有一個字符串說
{$test->strings} // contains 33||12||80
我想看看如果{$test->strings}
中的一個號碼等於{$test->myday}
如何從給定的字符串中創建一個數組,例如22 || 33 || 50並查看給定的數字是否與上面的數字類似聰明嗎?如何創建一個數組查看數值是否在數組中
我有一個字符串說
{$test->strings} // contains 33||12||80
我想看看如果{$test->strings}
中的一個號碼等於{$test->myday}
在我看來,你真的不應該讓你的視圖(smarty模板)執行任何數據操作。在將它發送到模板之前,我會將您的字符串轉換爲數組。
$str = "33||12||80";
$array = explode("||", $str); // [33, 12, 80]
if (in_array($test->myday, $array)) {
// it's in there
}
不知道Smarty的,但是這是你會怎麼做在純PHP中:
if(in_array($test->myday, explode('||', $test->strings))) {
// strings contains myday
}
希望有所幫助。
你不應該在模板中做這樣的事情。您應該在應用程序邏輯(PHP)中執行必要的操作並將結果傳遞給模板。順便說一下:Smarty(和所有類似Smarty的引擎)是一塊......垃圾。
我知道這件事,但我必須這樣做,我也知道它可能會消失,每一個細節 – streetparade 2010-03-18 10:12:14