如何从给定的字符串中创建一个数组,例如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