2010-03-30 113 views
0

我有一個簡單的東西數組:查找數組中的數據順序

$ array = array(「apples」,「oranges」,「strawberries」);

我想找到數組內的東西的順序。 (有時順序的變化,所以做項目)

我期待得到的東西是這樣的:

「蘋果」=> 0, 「橘子=> 1, 」 草莓=> 2

最終結果與數據庫排序有關。

這樣的事情,一個foreach循環中:

UPDATE TBL SET排序順序= $ neworder WHERE水果= '$ fruitname'

的$ neworder變量將與新的順序來填充,數組中。而$ fruit變量來自數組內的項目。

+2

我的直覺告訴我這是PHP,它從來沒有錯。但如果是這樣,那麼就不要這麼做。 – Anurag 2010-03-30 03:20:08

回答

0

可能有更好的方法來做到這一點,但這個工程:

$array = array("apples","oranges","strawberries"); 
$order = array(); 
foreach ($array as $index => $fruit) 
{ 
    $order[$fruit] = $index; 
}
0

我期待得到的東西是這樣的:

$array = array("apples","oranges","strawberries"); 
$result = array_flip($array); 

吧? ;-)

1

的鍵的順序。這段代碼將簡單地按下這些值來爲您提供"apples" => 0, ...,同時確保您的密鑰是數字。

$order = array_flip(array_values($array)); 
+0

array_values()在這裏絕對是含糊不清的 – zerkms 2010-03-30 06:00:52

+0

@zerkms你是什麼意思? – deceze 2010-03-30 07:57:42

+0

我的意思是,如果你刪除array_values(),那麼結果將是相同的問題描述的情況下,當數組是有序的。 – zerkms 2010-03-30 12:45:05