如何从给定的字符串(如 22 || 33 || 50 )创建一个smarty数组,并查看给定的数字是否与smarty中的数字相似?
我有一个字符串说
{$test->strings} // contains 33||12||80
我想查看{$test->strings}
中的某个数字是否等于{$test->myday}
答案 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的引擎)都是......垃圾。