2013-06-22 64 views
1

我正在爲我的數據庫的搜索系統工作,其中我將搜索短語分解爲單個搜索詞,搜索mySQL數據庫關鍵字表以查找這些詞的任何出現,然後輸出與關鍵字關聯的ID列表。PHP數組 - 幫助存儲和排序多列

我想我們添加這些ID到一個新的陣列,也將包含一個計數值和(從一個新的查詢)隸屬於ID的地方的名字,導致:

陣列(ID,計數,名稱)

對於每個搜索詞我想通過這個過程,如果ID已經在上面的數組中,我想增加計數值,如果不是,我想要添加它的計數值爲1

當數組構建完成並且所有的計數完成後,我想通過計數然後名稱對它進行排序,然後輸出結果。

我已經編寫了PHP很長一段時間,但我從來沒有好過建立和操作數組,所以任何有關構建,搜索,編輯和排序3列數組的幫助,我都讚賞。

這裏是哪裏下面我只是想將數據插入到數組,並吐了出來,這顯然是行不通的一些代碼:

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

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

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

我建議你有ID爲然後在每一行檢查行ID是否是數組的一個鍵(換句話說,已經存在),然後將數組[ID] [count]加1.如果你要提供一些代碼,我可以去更深入 –

+0

增加了一個代碼示例,不起作用 – user2246930

+0

哦,不,這不是你怎麼做的。這看起來不像一個搜索提取算法,但很好.. –

回答

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

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

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

一旦我修復了回聲線(這是我的原始代碼)的錯誤,這很好。你能告訴我如何按數字或名稱對數組進行排序嗎? – user2246930

+0

檢查[this](http://stackoverflow.com/questions/96759/how-do-i-sort-a-multidimensional-array-in-php)out –