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].",";
}