PHP将字符串拆分为两部分

时间:2017-03-06 09:32:14

标签: php

我有字符串。例如

$string = 1234567; 

$string = 1976324  

我如何分裂每一秒。例如。

[0=>1357, 1=>246];

[0=>1734, 1=>962];

4 个答案:

答案 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