我有两个像这样的数组
Array1 (
[0] => 10:00:00-08
[1] => 10:02:00-08
[2] => 10:03:00-08
[3] => 10:04:00-08
[4] => 10:00:00-08
[5] => 10:00:00-08
[6] => 10:00:00-08
)
Array2 (
[0] => 19:00:00-08
[1] => 19:02:00-08
[2] => 19:03:00-08
[3] => 19:04:00-08
[4] => 19:00:00-08
[5] => 19:00:00-08
[6] => 19:00:00-08
)
我想要以下输出。
$a=10:00:00-08 - 19:00:00-08;
$b=10:02:00-08 - 19:02:00-08;
$c= 10:03:00-08 -19:03:00-08;
and so on....
答案 0 :(得分:2)
// this will create an array using array1 as keys and array2 as values
$combined = array_combine($array1, $array2);
foreach($combined as $key=>$value)
{
echo $key.' - '.$value;
echo '<br />';
}
答案 1 :(得分:1)
尝试以下(如果它们的大小相同):
<?php
for($i = 0; $i < count($array1); $i++)
{
echo $array1[$i] . ' - ' . $array2[$i];
}
?>
如果它们的大小不同,则应将其更改为
<?php
$size = min(count($array1),count($array2));
for($i = 0; $i < $size; $i++)
{
echo $array1[$i] . ' - ' . $array2[$i];
}
?>
但只会回显第一个公共索引上的项目。
编辑:
如果要将结果分配给字母变量,请尝试此(Variable variables):
<?php
$size = min(count($array1),count($array2));
$var = 'a';
for($i = 0; $i < $size; $i++)
{
$$var = $array1[$i] . ' - ' . $array2[$i];
$var++; // Next variable name will be b, c, d, ...
}
?>
这会将前两个值分配给$a
,依此类推。
答案 2 :(得分:0)
<?php
$array1 = array('10:00:00-08','10:02:00-08' ,'10:03:00-08' , '10:04:00-08' , '10:00:00-08' , '10:00:00-08' , '10:00:00-08' );
$array2 = array ( '19:00:00-08' , '19:02:00-08' , '19:03:00-08' , '19:04:00-08' , '19:00:00-08', '19:00:00-08' , '19:00:00-08' );
foreach( $array1 as $key=>$value) {
echo $value .'-'.$array2[$key]."<br/>" ;
}
?>
输出
10:00:00-08-19:00:00-08 10:02:00-08-19:02:00-08 10:03:00-08-19:03:00-08 10:04:00-08-19:04:00-08 10:00:00-08-19:00:00-08 10:00:00-08-19:00:00-08 10:00:00-08-19:00:00-08
答案 3 :(得分:0)
问题在于,假设您最多只有26个组合(a-z),所以我建议使用不同的方法并将输出放入数组中。另外,你不会知道例如是否设置了$ k。
如果你真的想把它们放到像$ a,$ b,$ c这样的变量中你可以做这样的事情,但就像我说的那样,你使用的方法并不理想:
$input_a = array("10:00:00-08");
$input_b = array("19:00:00-08");
$alphabet = range('a','z');
foreach ($input_a as $index=>$val) {
${$alphabet[$index]} = $val . "-" . $input_b[$index];
}