0

我只是无法理解这个语法。我有一个数组$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 ); ?> 
4

4 回答 4

4
if (false !== ($pos = strpos($foo, ','))) {
    $foo = substr($foo, 0, $pos);
}

或者如果你确定总是昏迷,它可以更简单:

$foo = substr($foo, 0, strpos($foo, ','));
于 2012-11-14T19:52:31.090 回答
0

split()已弃用,请尝试使用preg_split(),或者str_split(),请参阅 php 手册:http ://www.php.net/manual/ro/function.split.php

于 2012-11-14T19:53:55.957 回答
0

假设 $foo 中有一些字符串,例如“这是一个简短而无聊的句子”,那么:

list($before,$after) = split(',',$mystring)
//$before => "This is a short" 
//$after => "boring sentence"
echo $before; //prints "This is a short"

如果您没有看到这种行为,您需要确保 $foo 中有一些字符串。

于 2012-11-14T19:51:41.537 回答
0

这个例子有点太复杂了。这是一个更简单的:

<?php 
$mystring = "a,b,c,d egg";
$n = strpos($mystring, ',');
echo substr($mystring, 0, $n)
?>

这只是在 $mystring 中找到第一个“,”的索引并获取字符串直到该点。

如果你想要一个基于数组的例子,这里是一个使用explode的例子,因为不推荐使用split:

<?php 
$mystring = "a,b,c,d egg";
$array = explode(',', $mystring);
echo $array[0];
?>

因此,explode 在 "," 上拆分 $mystring,以便每个由 "," 分隔的项目成为其自己的元素。自然,第一项是第 0 个索引,所以这就是您在逗号后截断的方式。

于 2012-11-14T19:53:25.650 回答