开发者

Combine Two String with php

I have two stings

a, b, d, e

and

1, 52, 34, 56

I want combine two strings as

a/1, b/52, d/34, e/56

I wrote my code like that:-

  $result2 = mysql_query($query2);
  while($row2=mysql_fetch_array($result2)){
    $arr2 = explode(",",$row2['string1']);
    $arr1 = explode(",",$row2['string2']);
    for($i2 = 0; $i2 < count($arr1); $i2++) {
      $raw_str = "".$arr2[$i2]."/".$arr1[$i2].",";
      $query3 = "UPDATE table SET com_str='".$raw_str."' WHERE id='".$row2['id']."'";
      if (!mysql_query($query3))
      {
          die('Error: ' . mysql_error());
      }
    }
   }

my code just can store a last value only into databese:-

   e/56,

But I want开发者_开发知识库 store full string into database.

Thanks for advance


$letters = 'a, b, d, e';
$numbers = '1, 52, 34, 56';

preg_match_all('/\w+/', $letters, $letters);
preg_match_all('/\d+/', $numbers, $numbers);

$final = array();
foreach ($letters[0] AS $key => $letter)
    $final[] = $letter . '/' . $numbers[0][$key];

echo join(', ', $final);
// a/1, b/52, d/34, e/56


Try this code:

$result2 = mysql_query($query2);
while($row2=mysql_fetch_array($result2)){
    $arr2 = explode(",",$row2['string1']);
    $arr1 = explode(",",$row2['string2']);
    $raw_str = array();
    for($i2 = 0; $i2 < count($arr1); $i2++)
        $raw_str[] = $arr2[$i2].'/'.$arr1[$i2];
    $query3 = "UPDATE table SET com_str='".implode(',',$raw_str)."' WHERE id='".$row2['id']."'";
    if (!mysql_query($query3)){
        die('Error: ' . mysql_error());
    }

}

Also you should look into naming your variables.


Try this instead:

  $result2 = mysql_query($query2);
  while($row2=mysql_fetch_array($result2)){
    $arr2 = explode(",",$row2['string1']);
    $arr1 = explode(",",$row2['string2']);
    $raw_str = "";
    for($i2 = 0; $i2 < count($arr1); $i2++) {
      $raw_str .= "".$arr2[$i2]."/".$arr1[$i2].",";
    }
    $query3 = "UPDATE table SET com_str='".$raw_str."' WHERE id='".$row2['id']."'";
    if (!mysql_query($query3))
    {
        die('Error: ' . mysql_error());
    }

   }


$str1 = explode(',', 'a, b, d, e');
$str2 = explode(',', '1, 52, 34, 56');

if (count($str1) == count($str2))
{
    $result = array();

    foreach ($str1 as $key => $value)
    {
        $result[] = trim($value) . '/' . trim($str2[$key]);
    }

    $result = implode(', ', $result);
}

var_dump($result);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜