PHP爆炸,保存;剩菜;
在这种情况下,一切都按预期进行:PHP爆炸,保存;剩菜;,php,explode,Php,Explode,在这种情况下,一切都按预期进行: $someString = '1|2|3|4'; list($val1, $val2, $val3, $val4) = explode("|", $someString); 在以下场景中,$someString中的值比$VAL中的值多: $someString = '1|2|3|4|5|6'; list($val1, $val2, $val3, $val4) = explode("|", $someString); 如何使$val4在第二种情况下为4 | 5
$someString = '1|2|3|4';
list($val1, $val2, $val3, $val4) = explode("|", $someString);
在以下场景中,$someString中的值比$VAL中的值多:
$someString = '1|2|3|4|5|6';
list($val1, $val2, $val3, $val4) = explode("|", $someString);
如何使$val4在第二种情况下为4 | 5 | 6而不是4,或者如何在不添加$val5、$val6等的情况下将这些“剩余”放在$val4的末尾,使其为456?可以接受名为$limit
的第三个可选参数:
如果limit
设置为正,则返回的数组将最多包含limit
元素,最后一个元素包含字符串的其余部分
如果limit
参数为负值,则返回除最后一个-limit
之外的所有组件
如果limit
参数为零,则将其视为1
因此,根据该逻辑,您应该使用explode(|“,$someString,4)
:
可以接受第三个可选参数$limit
:
如果limit
设置为正,则返回的数组将最多包含limit
元素,最后一个元素包含字符串的其余部分
如果limit
参数为负值,则返回除最后一个-limit
之外的所有组件
如果limit
参数为零,则将其视为1
因此,根据该逻辑,您应该使用explode(|“,$someString,4)
:
在特定情况下,您可以使用explode
函数的限制子句。但是,一般来说,没有一种干净的方法可以捕获list()
作业的“剩余部分”,尽管我们可以让它工作
表示返回值是指定的数组
例如:
$arr = array('a', 'b', 'c', 'd', 'e');
var_dump(list($a, $b, $c) = $arr);
/*
array(5) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "d"
[4]=>
string(1) "e"
}
*/
var_dump($a, $b, $c);
/*
string(1) "a"
string(1) "b"
string(1) "c"
*/
我们可以使用array\u slice()
来利用这一点提取剩余内容,同时执行分配:
$leftovers = array_slice( list($a, $b, $c) = $arr, 3);
这与执行以下操作具有相同的效果:
$temp = operation_to_build_array();
list($a, $b, $c) = $temp;
$leftovers = array_slice($temp, 3);
在特定情况下,您可以使用explode
函数的限制子句。但是,一般来说,没有一种干净的方法可以捕获list()
作业的“剩余部分”,尽管我们可以让它工作
表示返回值是指定的数组
例如:
$arr = array('a', 'b', 'c', 'd', 'e');
var_dump(list($a, $b, $c) = $arr);
/*
array(5) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "d"
[4]=>
string(1) "e"
}
*/
var_dump($a, $b, $c);
/*
string(1) "a"
string(1) "b"
string(1) "c"
*/
我们可以使用array\u slice()
来利用这一点提取剩余内容,同时执行分配:
$leftovers = array_slice( list($a, $b, $c) = $arr, 3);
这与执行以下操作具有相同的效果:
$temp = operation_to_build_array();
list($a, $b, $c) = $temp;
$leftovers = array_slice($temp, 3);
explode(“|”,$someString,4)
explode(“|”,$someString,4)
谢谢。我原以为这一限制会让所有其他人都不知道,但事实似乎并非如此。这正是我想要的。谢谢。我原以为这一限制会让所有其他人都不知道,但事实似乎并非如此。这正是我想要的。