關聯數組有一個奇怪的問題。此代碼:您可以強制PHP將數字鍵視爲關聯數組鍵嗎?
$sql = DB::select('id','process_id')->from('field')->order_by('process_id')->order_by('sort_order');
$query = $sql->execute();
foreach($query->as_array() as $row){
$results[$row['id']] = $this->get_field($row['id']);
}
使用數字鍵創建數組。在我的開發環境中,該數組被視爲關聯數組,並按照查詢構建的順序排列。但是,在生產過程中,將鑰匙作爲數字對待,並根據ID進行分類。如果我強制PHP考慮關鍵關聯:
$results["a".$row['id']] = $this->get_field($row['id']);
它使用MySQL排序。不幸的是,雖然有很多代碼取決於密鑰只是ID。
有沒有人有任何想法,爲什麼可能有服務器之間的區別?任何解決方法的想法?
嘗試$結果[ 「」 $行[ '身份證'。]。我不確定PHP如何處理這個價值,這取決於解釋發生的地方。 –
這很奇怪...... PHP不會自動對鍵進行排序,它會按照插入順序進行存儲。你確定查詢結果是兩次相同嗎? PHP中的數值和關聯數組實際上沒有區別。這是相同的數據結構。 –
問題是其他地方...不是在發佈的代碼。 –