在PHP中使用相同的键存储不同数组的值

时间:2016-11-25 04:47:32

标签: php codeigniter

我坚持使用我的代码而且我是Php的新手。如何在PHP中使用相同的键存储不同数组的值?

  阵列1的

:[0] => 31,[1] => 42,[2] => 21,.....

     阵列2的

:[0] => 21,[1] => 21,[2] => 24,.....

     阵列3的

:[0] => 45,[1] => 34,[2] => 45,....

我试图将输出设为:

  

[0] => S5001:31,21,45 | [1] => S5002:42,21,34 | [2] => S5003:21,24,45 ...... 。[N] S50..N-1:21,23,45

其中S5001,S5002是array1,array2,array3 ....的键。

$student_marks_entered1=$this->input->post('mark1');
$student_marks_entered2=$this->input->post('mark2');
$student_marks_entered3=$this->input->post('mark3');
foreach($student_marks_entered1 as $key=>$value1)
{
$marks_arr1[]=$value1;                  
}
foreach($student_marks_entered2 as $key=>$value2)
{
$marks_arr2[]=$value2;
}
foreach($student_marks_entered3 as $key=>$value3)
{
$marks_arr3[]=$value3;
}

所需的输出是:

S5001:31,21,45|S5002:42,21,34|S5003:21,24,45.......S50..N-1:21,23,45

2 个答案:

答案 0 :(得分:2)

使用for循环通过键获取所有值.. 见下面的代码。

$student_marks_entered1=array(31,42,21);
$student_marks_entered2=array(21,21,24);
$student_marks_entered3=array(45,34,45);
$name=5000;
for($i=0; $i<3;$i++){
    $var=$name + $i + 1;
    $pipe=$i < 2 ? '|' : '';
    echo "S".$var.":". $student_marks_entered1[$i].','.$student_marks_entered2[$i].",".$student_marks_entered3[$i].$pipe;
}

demo and example

答案 1 :(得分:1)

使用以下代码

<?php
$names = array( 0=>"S5001",1=>"S5002",2=>"S5003" );
$student_marks_entered1=array(31,42,21);
$student_marks_entered2=array(21,21,24);
$student_marks_entered3=array(45,34,45);

foreach($names as $key=>$name)
{
    $newArr[$key] = $name.":".$student_marks_entered1[$key].",".$student_marks_entered2[$key].",".$student_marks_entered3[$key];
}

$finalStr = implode("|", $newArr);
echo $finalStr;

<强>输出:

S5001:31,32,33|S5002:42,44,46|S5003:21,23,25

演示: Click Here