2010-03-18 71 views
0

如何從給定的字符串中創建一個數組,例如22 || 33 || 50並查看給定的數字是否與上面的數字類似聰明嗎?如何創建一個數組查看數值是否在數組中

我有一個字符串說

{$test->strings} // contains 33||12||80 

我想看看如果{$test->strings}中的一個號碼等於{$test->myday}

回答

1

在我看來,你真的不應該讓你的視圖(smarty模板)執行任何數據操作。在將它發送到模板之前,我會將您的字符串轉換爲數組。

$str = "33||12||80"; 
$array = explode("||", $str); // [33, 12, 80] 

if (in_array($test->myday, $array)) { 
    // it's in there 
} 
+0

我知道這件事,但我必須這樣做,我也知道它可能會消失,每一個細節 – streetparade 2010-03-18 10:12:14

1

不知道Smarty的,但是這是你會怎麼做在純PHP中:

if(in_array($test->myday, explode('||', $test->strings))) { 
    // strings contains myday 
} 

希望有所幫助。

0

你不應該在模板中做這樣的事情。您應該在應用程序邏輯(PHP)中執行必要的操作並將結果傳遞給模板。順便說一下:Smarty(和所有類似Smarty的引擎)是一塊......垃圾。

相關問題