将字符串拆分为数组

时间:2011-06-24 12:23:30

标签: php

我正在尝试使用php获取剩余价值:

Example:
$string1 ="1477014108152000180343081299001";
$string2 ="1731731731731731731731731731731";  

$ string1的每个数字乘以$ string2

的每个数字
$string1 = 1 4 7 7 0 1 4 1 0 8 1 5 2 0 0 0 1 8 0 3 4 3 0 8 1 2 9 9 0 0 1
           * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
$string2=  1 7 3 1 7 3 1 7 3 1 7 3 1 7 3 1 7 3 1 7 3 1 7 3 1 7 3 1 7 3 1

从字符串的正面开始     Sum = 1 + 28 + 21 + 7 + 0 + 3 + 4 + 7 + 0 + 8 + 7 + 15 + 2 + 0 +0 + 0 + 7 + 24 + 0 + 21 + 12 + 3 + 0 + 24 + 1 + 14 +27 +9 + 0 + 0 + 1 = 246

Remainder = 246 % 10= 6

我想创建$ string1和$ string2的数组,这样我就可以轻松地将每个值相乘。请帮我将$ string1和$ string2拆分为数组。

我想要数组如下:

$阵列=阵列( '1', '7', '3', '1', '7', '3', '1', '7', '3', '1','7 ”, '3', '1', '7', '3', '1', '7', '3', '1', '7', '3', '1', '7', '3', '1', '7', '3', '1', '7', '3', '1');

4 个答案:

答案 0 :(得分:9)

使用str_split

答案 1 :(得分:2)

您可以访问数组元素的字符串字符:

for ($i=0, $c=strlen($string1); $i<$c; $i++) 
  echo("char number $i is ". $string1[$i]);

答案 2 :(得分:0)

据我了解,你将要实现的目标,在处理之前没有理由拆分字符串

$size = strlen($string1);
$sum = 0; 
for ($i=0; $i<$size; $i++)
  $sum += $string1[$i] * $string2[$i];

或(仅查看其余部分)

$size = strlen($string1);
$remainder = 0;
for ($i=0; $i<$size; $i++)
  $remainder = ($remaider + $string1[$i] * $string2[$i]) % 10;

最后一个肯定是首选,因为你可以假设,总和会变得​​非常大

答案 3 :(得分:-2)

您可以使用preg_match_all执行此操作:

$string1 ="1477014108152000180343081299001";
$string2 ="1731731731731731731731731731731";  

$val = array();
$count = preg_match_all('/\d/', $string1, &$val);
$array1 = $val[0];

$val = array();
$count = preg_match_all('/\d/', $string2, &$val);
$array1 = $val[0];