与数组相关的问题

时间:2011-03-24 06:46:13

标签: php

我有两个阵列。我想连接到以下格式。格式如下所示。

    Getting form values using post method
    /************ Getting Form names like Weight,arms Age etc **********************/
      foreach ($_POST["form_field_names"] as $key => $values) {
    $form_field_name = $values;
}

/************ Getting Form Values like 45,90,2 **********************/
foreach ($_POST["form_field_values"] as $key => $values) {
    $form_field_values[] = $values;
}

Array
(
   [0] => Age
   [1] => Weight
   [2] => Arms
)
Array
(
  [0] => 45
  [1] => 90
  [2] => 2
)

想要连接到以下格式

$output = $Age.","."45".",".$Weight.","."90".",".$Arms.","."2".",";

有可能吗?感谢

4 个答案:

答案 0 :(得分:5)

我建议您首先合并两个数组into one关联数组:

$assoc = array_combine($keys_array1, $num_array2);

然后,只需循环生成输出字符串:

$str = "";
foreach ($assoc as $key=>$num) {
    $str .= "$key,$num,";
}

如果跟踪,成为问题(您没有说),那么之后我会采用$str = rtrim($str, ",")解决方法。

答案 1 :(得分:2)

看起来像一个奇怪的请求,但好吧......;)

$output = "";

for ($i = 0; $i < count($array1); $i++) {
  $output .= $array1[$i] . "," . $array2[$i] . ",";
}

现在,这将连接array1中的字符串。如果你想连接在array1中以字符串命名的变量,那么一个非常相似的循环应该可以工作:

$output = "";

for ($i = 0; $i < count($array1); $i++) {
  $output .= $$array1[$i] . "," . $array2[$i] . ",";
}

认为应该有用。

答案 2 :(得分:0)

您可以“合并”并行数组

我会调用您的第一个数组$arr1和第二个$arr2

$newArr = array();
foreach($arr1 as $k=>$v)
   $newArr[$v] = $arr2[$k];

或者查看array_combine作为另一张提到的海报。 PHP有一些很好的数组函数,它总是很好用。

一旦你有这种格式的数组

['Age'] => 45
['Weight'] => 90
['Arms'] => 2

您可以按照以下方式打印它们,如下所示

foreach($newArr as $k=>$v)
    echo "$k: $v  "

答案 3 :(得分:0)

$str = '';
foreach($array1 as $key => $value)
{
   $str .= $value.",". $array2[$key].",";
}