假设我们有一组学生:
学生:本山姆...
每个学生家里都有一组书:
图书:
- 山姆 ABCD
- 本德夫
- 瑞安 ADGD
所以在 PHP 中,$students 数据结构是这样的:
Array
(
[0] => Array
(
[name] => Joe Smith
[books] => Array
(
[0] => A
[1] => B
[2] => C
)
)
)
我们想计算 A 重复了多少次以及谁拥有 AB 和 C 等。在 php 中执行此操作的一种方法是执行此操作:
if (sizeof($potential_entries) > 0) :
for ($j = 0, $potentialsize = sizeof($potential_entries); $j < $potentialsize; ++$j) {
for ($k = 0, $listsize = sizeof($student_book); $k < $listsize; ++$k) {
if ($student_book[$k] == $potential_entry[$k]) :
$match = 1;
$student_book[$k]['like_count']++;
endif;
}
}
这不是很有效,我们宁愿想要一个映射结构或一个哈希表,php 有像 perl 这样的结构吗?还是我们必须手动构建它们。编辑:我可以在 PHP 中看到我们有关联数组?您能否举一个在文档中找不到的示例。对于山姆:
var_dump($potential_entry):
[0]=>array(2) { ["name"]=> string(1) "A" ["id"]=> string(11) "1348"}
[1]=>array(2) { ["name"]=> string(1) "B" ["id"]=> string(11) "1483"}
[2]=>array(2) { ["name"]=> string(1) "C" ["id"]=> string(11) "13"}
[3]=>array(2) { ["name"]=> string(1) "D" ["id"]=> string(11) "1174"}
那是 Sam 的,其余的我们有相同的结构。所以 sam 是数组,books 是数组,sam 有很多书。在这个例子中
- D 计数=3 山姆·本·瑞安
- A count=2 山姆瑞安
- ETC...