我试图将一个数组循环到另一个数组中,然后在内部数组到达约会网站http://www.arab.dating
结束时重置内部数组我有一个数组正在从数据库查询中填充。我非常熟悉并且如下所示:
$sql="SELECT users from users LIMIT 100;";
$pds=$database->pdo->prepare($sql); $pds->execute(array()); $rows=$pds->fetchAll();
然后我需要用数据填充另一个数组,并且我已经尝试了两个想法:
1
$accountArray[] = array('1' => 'data', '2' => 'data', '3' => 'data', '4' => 'data');
$accountArray[] = array('1' => 'data', '2' => 'data', '3' => 'data', '4' => 'data');
$accountArray[] = array('1' => 'data', '2' => 'data', '3' => 'data', '4' => 'data');
2
$accountArray = array(array(1 => 'data',
2 => 'data',
3 => 'data',
4 => 'data'
),
array(1 => 'data',
2 => 'data',
3 => 'data',
4 => 'data'
),
array(1 => 'data',
2 => 'data',
3 => 'data',
4 => 'data'
)
);
最后,我需要在内部使用第二个数组循环初始数组,然后在完成后重置/重启第二个数组。
$num = 0;
foreach($rows as $value) {
$message = ucfirst($value['users'];
echo $message;
echo $accountArray[$num++]['1'];
}
对不起,如果这是一个小小的皱纹。
我试图获得一个解决方案,我可以遍历数据库返回,然后继续循环遍历内部$ accountArray [](只要外部$ rows数组就不会这样。)
还想知道如何最好地提交$ accountArray [],因为我认为我的语法是一个触发器。
谢谢你 亚当答案 0 :(得分:0)
首先,启动$accountArray
就足够了。也许它可以根据数组的内容进行改进,但是根据你提供的数据,初始化非常好。
关于两个数组的循环:最简单的方法是使用modulo(如果你将操作的两边分开,模数的结果是余数)。由于query-result-array的键是顺序的,我们可以使用以下方法:
<?php
$sql = "SELECT users from users LIMIT 100;";
$pds = $database->pdo->prepare($sql);
$pds->execute(array());
$rows = $pds->fetchAll();
$accountArray = array(
array(
'1' => '0',
'2' => 'data',
'3' => 'data',
'4' => 'data',
),
array(
'1' => '1',
'2' => 'data',
'3' => 'data',
'4' => 'data',
),
array(
'1' => '2',
'2' => 'data',
'3' => 'data',
'4' => 'data',
),
);
$accountCount = count($accountArray); // do this outside of the loop for performance
foreach($rows as $key => $row) {
$marker = $key % $accountCount; // the actual magic for selecting the correct array-index
$message = ucfirst($row['users']);
echo $message;
echo $accountArray[$marker]['1']; // do what you want with the result
}