我有字符串。例如
$string = 1234567;
或
$string = 1976324
我如何分裂每一秒。例如。
[0=>1357, 1=>246];
或
[0=>1734, 1=>962];
答案 0 :(得分:1)
你可以这样做:
<?php
$string = 1234567;
$string = (string)$string;
$tmp[0] = "";
$tmp[1] = "";
for($i = 0; $i < strlen($string);$i++)
{
if($i % 2)
{
$tmp[1] .= $string[$i];
}
else
{
$tmp[0] .= $string[$i];
}
}
print_r($tmp);
?>
答案 1 :(得分:1)
您还可以使用str_split,array_chunk和array_column的组合 我不是推荐这个,而是提出另一种处理方式的替代方法,这给了我一些乐趣;)
注意:
array_column()
需要PHP 5.5+。
示例代码:
php > $string = 1234567;
php > print_r(array_column(array_chunk(str_split($string, 1), 2), 0));
Array
(
[0] => 1
[1] => 3
[2] => 5
[3] => 7
)
php > print_r(array_column(array_chunk(str_split($string, 1), 2), 1));
Array
(
[0] => 2
[1] => 4
[2] => 6
)
当然你也可以将它连接成字符串:
php > echo implode('', array_column(array_chunk(str_split($string, 1), 2), 1));
246
php > echo implode('', array_column(array_chunk(str_split($string, 1), 2), 0));
1357
答案 2 :(得分:-1)
你可以用这个
<?php
$string = '1976324';
$halfPosition = ceil(strlen($string)/2);
var_dump([substr($string, 0, $halfPosition), substr($string, $halfPosition)]);
答案 3 :(得分:-1)
此函数在PHP 5.3.0中变为OBSOLETE,在PHP 7.0.0中被删除。 您可以在字符串中使用eplode和Add a delimiter
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2