【问题标题】:PHP Arrays - Help storing and sorting multiple columnsPHP Arrays - 帮助存储和排序多列
【发布时间】:2013-06-23 06:19:32
【问题描述】:

我正在为我的数据库开发一个搜索系统,在该系统中,我将搜索短语分解为单独的搜索词,在 mySQL 数据库关键字表中搜索这些词的任何出现,然后输出与关键字关联的 ID 列表。

我想将这些 ID 添加到一个新数组中,该数组还将包含一个计数值和(来自新查询)属于该 ID 的地点的名称,结果是:

数组(ID、计数、名称)

对于每个搜索词,我想通过这个过程,如果 ID 已经在上面的数组中,我想增加计数值,如果没有,我想用计数值 1 添加它。

当数组建好,所有的计数都做完后,我想先按count排序,然后name,然后输出结果。

我已经编写 PHP 很长一段时间了,但我一直不擅长构建和操作数组,因此感谢任何与构建、搜索、编辑和排序 3 列数组相关的帮助。

下面是一些代码,我只是试图将数据插入数组并将其吐出,这显然不起作用:

<?php
$id = 5;
$count = 1;
$name = "PlaceName1";

$arrayPlaces = array($id, $count, $name);

echo "5: " . $arrayPlaces[5] . "<br />";
?>

【问题讨论】:

  • 我建议你将 ID 作为键,然后在每一行检查行 ID 是否是数组的键(换句话说,已经存在)然后增加 array[ID][ count] 1。如果您要提供一些代码,我将能够更深入
  • 添加了一个代码示例,不起作用
  • 哦不,这不是你的做法。这看起来不像是搜索获取算法,但很好..
  • 我只需要添加和搜索数组的帮助,一旦我理解了它们,我可以使我的搜索算法更复杂。
  • 我提交了一个答案,看看。

标签: php arrays sorting


【解决方案1】:
<?php
$id = 5;
$count = 1;
$name = "PlaceName1";

$arrayPlaces = array(
    $id => array(
        'count' => $count,
        'name' => $name
    )
);

echo "5: " . $arrayPlace[5]['name'] . "<br />";
?>

【讨论】:

  • 一旦我修复了 echo 行中的错误(在我的原始代码中),效果很好。你能展示我如何按计数或名称对数组进行排序吗?
  • 签出this
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多