2010-03-18 73 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的引擎)是一块......垃圾。

相关问题