我有2个阵列:
$ping_array = array();
$ping_array[] = '400';
$ping_array[] = '200';
$ping_array[] = '600';
$ping_array[] = '100';
$timestamp_array = array();
$timestamp_array[] = '2013-03-25 16:30:07';
$timestamp_array[] = '2013-03-25 16:30:39';
$timestamp_array[] = '2013-03-25 18:30:06';
$timestamp_array[] = '2013-03-25 18:45:49';
我想制作这样的东西(我不知道它是怎么称的):
$combined_array = array(
'time' => $timestamp_array,
'ping' => $ping_array
);
所以稍后我可以使用这样组合的2个数组:
foreach ($combined_array as $ca=> $values) {
echo $values['ping'];
echo $values['time'];
}
大家好,这个combine_array很棒
答案 0 :(得分:4)
试试这个:
$combined_array = array();
foreach ($ping_array as $key => $value){
$combined_array[] = array(
'time' => $timestamp_array[$key],
'ping' => $value
);
}
答案 1 :(得分:2)
这个怎么样?
for ($i=0; $i<count($timestamp_array); $i++) {
$combined_array[$i]["ping"] = $ping_array[$i];
$combined_array[$i]["time"] = $timestamp_array[$i];
}
答案 2 :(得分:1)
PHPs array_combine:“通过使用一个数组作为键来创建一个数组,为另一个数组创建一个数组”
$combined_array = array_combine($timestamp_array, $ping_array);
然后重复通过类似于你所包含的内容:
foreach($combined_array as $time => $ping) {
echo $ping;
echo $time;
}
答案 3 :(得分:0)
php'array_merge_recursive'怎么样?它完全符合您的要求。它在php 4及更高版本中找到。
答案 4 :(得分:0)
你可以做的是制作一些对象,如:
class PingInfo {
public $ping;
public $time;
public function PingInfo($ping, $time) {
$this->ping = $ping;
$this->time = $time;
}
}
$pingInfos = array();
$pingInfos[] = new PingInfo('400', '2013-03-25 16:30:07');
$pingInfos[] = new PingInfo('300', '2013-03-25 16:50:13');
你可以用两个数组构建它:
$pingInfos = array();
for ($i = 0; $i < count($ping_array); $i++)
$pingInfos[] = new PingInfo($ping_array[$i], $timestamp_array[$i]);
现在您可以像这样访问它:
foreach ($pingInfos as $pingInfo) {
echo $pingInfo->ping;
echo $pingInfo->time;
}