在我浪费时间尝试一堆不同的东西之前,我想在这里问一下是否有人有一个很好的策略。
我在while
循环中生成了近3,000个数组。也许我认为有价值的是我可以附加即将成为数组的ID
$results = $mysqli->query("SELECT ID, post_content
FROM wp_posts
WHERE post_type = 'product';");
while($row = $results->fetch_array()) {
$id2 = $row['ID'];
$id = mysqli_real_escape_string($mysqli, $id2);
值得注意的是,当我说比较这些数组时,我不打算根据内容比较它们,而是根据数组中的节点数量来比较它们。
所以我当然可以轻松地做到这一点
$arraycount = count($wp_post_array);
因此我可以得到我需要的两件事:数组的唯一ID
和count
。
echo '<br />' . 'ID: ' . $id. '<br />';
echo '<br />' . 'ARRAY COUNT: ' . $arraycount . '<br />';
给我一个这样的输出:
所以,我认为这是第一步。正如我所说,我有大约3,000个,所以手动尝试匹配这些并不是我想做的事情。
我的输出(仅仅是为了问题 - 只要我能够比较,我真的不在乎它是什么),可能看起来像:
ARRAY COUNT: 55
ID: 5740, 8805, ..., etc
任何人都有这样的经历吗?如果我使用2个或3个阵列,我确信会有一个简单的解决方案,但是在数千个的情况下?我不确定最聪明的策略是什么。是否有内置的PHP函数可以帮助我,或者一个库,或者只是一个聪明的想法来比较数组计数?
编辑:
样本数组
Array
(
[0] => Arcu Magna Accessus 16-03 AB Class non Nunc Corrupti Elit Sit 4" Provocatus
[1] => 6" Superue Tibi Sit
[2] => 6380-0362
[3] => Quos Porro Oppressu EA
[4] => Leo id Louor & Quam Tibi Commune
[5] => Memoriam:
[6] => mE Magni Illa Harusen
[7] => eA Quos Elit Armorum
[8] => Responsuros Louor:
[9] => 939/07 Hac A/Lorem molfstum
[10] => Ex successum ex dominatio justo fortitudinis sed rem ornare hac hic successus li urna iucunda usus hac te nemo vulputate.
)
在变量中显示,然后计算。
答案 0 :(得分:1)
不是按照您当前的步骤输出结果,而是将它们附加到按计数分组的数组中。
$groups[$arraycount][] = $id;
然后你可以迭代它以获得你想要的结果。
foreach ($groups as $count => $ids) {
echo '<br />' . 'ARRAY COUNT: ' . $count. '<br />';
echo '<br />' . 'ID: ' . implode(', ', $ids) . '<br />';
}
但是,我对wordpress并不熟悉。从普通的PHP角度来看,这就是我的问题。根据评论中的建议,使用wordpress可能有更好的方法。