Php 关于数组的问题

Php 关于数组的问题,php,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 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".",";

可能吗?谢谢

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

$assoc = array_combine($keys_array1, $num_array2);
然后,只需在上面循环以生成输出字符串:

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

如果后面的
是一个问题(您没有说),那么我会在之后求助于
$str=rtrim($str,“,”)
解决方法。

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

$assoc = array_combine($keys_array1, $num_array2);
然后,只需在上面循环以生成输出字符串:

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

如果后面的
是个问题(您没有说),那么我会在之后求助于
$str=rtrim($str,“,”)
解决方法。

您可以“合并”并行阵列

我将调用您的第一个数组
$arr1
,第二个数组
$arr2

$newArr = array();
foreach($arr1 as $k=>$v)
   $newArr[$v] = $arr2[$k];
或者查看另一张海报中提到的
array\u combine
。PHP有一些很好的数组函数,使用它们总是很好的

一旦你有了这种格式的数组

['Age'] => 45
['Weight'] => 90
['Arms'] => 2
您可以按如下方式打印它们

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

您可以“合并”并行阵列

我将调用您的第一个数组
$arr1
,第二个数组
$arr2

$newArr = array();
foreach($arr1 as $k=>$v)
   $newArr[$v] = $arr2[$k];
或者查看另一张海报中提到的
array\u combine
。PHP有一些很好的数组函数,使用它们总是很好的

一旦你有了这种格式的数组

['Age'] => 45
['Weight'] => 90
['Arms'] => 2
您可以按如下方式打印它们

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

这似乎是一个奇怪的请求,但没关系……;)

$output=”“;
对于($i=0;$i
现在,这将连接数组1中的字符串。如果要连接以array1中的字符串命名的变量,则应使用非常类似的循环:

$output = "";

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

我认为这应该行。

似乎是一个奇怪的请求,但没关系……;)

$str = '';
foreach($array1 as $key => $value)
{
   $str .= $value.",". $array2[$key].",";
}
$output=”“;
对于($i=0;$i
现在,这将连接数组1中的字符串。如果要连接以array1中的字符串命名的变量,则应使用非常类似的循环:

$output = "";

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

我认为这应该行得通。

通过创建中间数组来浪费内存。只需一个for循环就可以完成,请参见@Rob Williams的答案。@codaddict:是的,我会作为循环中的临时工来完成。但它只是另外一个1K,很容易被堆碎片或回调中的临时字符串所超越@Rob关于
$$keyname
的想法最终更加相关。@mario
数组\u组合($form\u field\u name,$form\u field\u value)此语句是否正确?它不起作用。@user559744看起来它使用了正确的数组变量名。什么不起作用?再次使用print\u r()检查内容。@mario
警告:array\u combine()要求参数1为数组,字符串在第18行C:\wamp\www\form\index2.php中给出。我收到此警告。通过创建中间数组浪费内存。只需一个for循环就可以完成,请参见@Rob Williams的答案。@codaddict:是的,我会作为循环中的临时工来完成。但它只是另外一个1K,很容易被堆碎片或回调中的临时字符串所超越@Rob关于
$$keyname
的想法最终更加相关。@mario
数组\u组合($form\u field\u name,$form\u field\u value)此语句是否正确?它不起作用。@user559744看起来它使用了正确的数组变量名。什么不起作用?再次使用print\u r()检查内容。@mario
警告:array\u combine()希望参数1是数组,字符串在第18行的C:\wamp\www\form\index2.php中给出
我收到了此警告。
$str = '';
foreach($array1 as $key => $value)
{
   $str .= $value.",". $array2[$key].",";
}