如果值在Array中,如何创建数组

时间:2010-03-18 09:58:44

标签: php smarty

如何从给定的字符串(如 22 || 33 || 50 )创建一个smarty数组,并查看给定的数字是否与smarty中的数字相似?

我有一个字符串说

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

我想查看{$test->strings}中的某个数字是否等于{$test->myday}

3 个答案:

答案 0 :(得分:1)

不知道Smarty,但这就是你在纯PHP中的表现:

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

希望有所帮助。

答案 1 :(得分:1)

在我看来,你真的不应该让你的观点(智能模板)执行任何数据操作。在将字符串发送到模板之前,我会将其转换为数组。

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

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

答案 2 :(得分:0)

你不应该在模板中做这样的事情。您应该在应用程序逻辑(PHP)中执行必要的操作,并将结果传递给模板。

顺便说一下:Smarty(以及所有类似Smarty的引擎)都是......垃圾。

相关问题