我无法理解这个语法。我有一个数组$foo
,我在一个函数中调用它:wp_list_pages($foo);
(这是一个wordpress网站)。
我在网上找到了这个代码,但无法让它工作...... 我尝试了这两种方式,似乎没有做任何事情。有人可以帮忙吗?
<?php $mystring = $foo;
list ($before,$after) = split (',', $mystring);
echo $before;
?>
<?php wp_list_pages( $foo ); ?>
或者这个:
<?php $has_comma = (stristr($foo, ",")>-1) ? 1 : 0;
if ($has_comma) {
list ($before,$after) = split (',', $foo);
$foo = $before;
} ?>
<?php wp_list_pages( $foo ); ?>
答案 0 :(得分:4)
if (false !== ($pos = strpos($foo, ','))) {
$foo = substr($foo, 0, $pos);
}
或者如果你确定总是昏迷,那就更简单了:
$foo = substr($foo, 0, strpos($foo, ','));
答案 1 :(得分:0)
假设$ foo中有一些字符串,例如“这是一个简短,无聊的句子”,那么:
list($before,$after) = split(',',$mystring)
//$before => "This is a short"
//$after => "boring sentence"
echo $before; //prints "This is a short"
如果你没有看到这种行为,你需要确保$ foo中有一些字符串。
答案 2 :(得分:0)
这个例子有点太复杂了。这是一个更简单的方法:
<?php
$mystring = "a,b,c,d egg";
$n = strpos($mystring, ',');
echo substr($mystring, 0, $n)
?>
这个只找到第一个&#34;,&#34;的索引。在$ mystring中获取字符串直到那一点。
如果你想要一个基于数组的例子,这里有一个使用explode的例子,因为不推荐使用split:
<?php
$mystring = "a,b,c,d egg";
$array = explode(',', $mystring);
echo $array[0];
?>
爆炸分裂$ mystring on&#34;,&#34;以便每个项目用&#34;,&#34;成为自己的元素。当然第一个项目是第0个索引,因此你可以在逗号后截断。
答案 3 :(得分:0)
split()
已弃用,请尝试使用preg_split()
或str_split()
,请参阅php手册:http://www.php.net/manual/ro/function.split.php