2012-08-01 81 views
0

我的問題是。 我有一個數組,其中定位在這樣的元素:保持數組順序選擇HTML

[2] => '的2值'
[3] =>
[1] =>「價值 '的3值' 1'

而且我想要這樣。 但是,當發送數據到PHP/HTML時,它們是有序的。

[1] => '值爲1'
[2] => '的2值'
[3] =>

注 '的3值':密鑰必須保持我不能例如執行以下操作:
[1] =>
'的2值' [2] => '的3值'
[3] =>

'值爲1'我應該保留鑰匙嗎?
(我使用谷歌翻譯)

編輯:

我使用這個領域中的CakePHP:

<?php echo $this->Form->input('item_id', array('label' => 'Item', 'class' => 'span3', 'empty' => 'Escolha um item', 'data-depend-on' => '#ActionEstoqueId', 'data-source' => $this->Html->url(array('controller' => 'itens', 'action' => 'index', 'ext' => 'json'), true))) ?> 
+0

嘿帕特里克,我來自巴西太= P – 2012-08-01 20:06:50

+0

是「關鍵的2值」工作字符串與這14個字符,或者它應該是一個參考? 順序很重要,但關鍵值是重要的嗎? – EricG 2012-08-01 20:06:53

+0

你是如何發送這個數組,你從哪裏發送這個數組? – Palladium 2012-08-01 20:07:26

回答

1

那麼這對你來說如何? (滾動下面的更新,因爲這個原始的答案沒有幫助)。

<?php 
    $array = array(
     "2" => "Value of 2", 
     "3" => "Value of 3", 
     "1" => "Value of 1", 
    ); 

    echo "<pre>"; 
    print_r($array); 
    echo "</pre>"; 

    // Or 

    foreach ($array as $key => $value) 
    { 
     echo $key.'=>'.$value.'<br />'; 
    } 
?> 

更新:

$array = array(
    array("2", "Value of 2"); 
    array("3", "Value of 3"); 
    array("1", "Value of 1"); 
) 

我真的不知道這是怎麼轉換爲響應對象,你應該讓我知道,我猜。

+0

這樣做有效,但數組在PHP上裝載,並返回到AJAX-VIEW(json)。發送時,它被重新組織,我不知道爲什麼。 – 2012-08-02 13:04:28

+0

你是說按照字母順序重新排序json版本..?也許你應該將鍵改爲「_1」,「_2」,因爲JSON解析器可能會將「2」視爲數字而不是字符串。那個怎麼樣? – EricG 2012-08-02 13:28:41

+0

@EriG號Json重新排序的數字。 [1],[2],[3]。正確的是:[2] [3] [1] – 2012-08-02 17:49:27

0

是否有可能,而不是這樣做?

$arr = array(
    array(2 => 'Value of 2'), 
    array(3 => 'Value of 3'), 
    array(1 => 'Value of 1') 
); 
+0

僅適用於PHP文件。如果我嘗試在數組內安裝文件並填充選擇內容,它可以很好地工作。但是,隨着數組在Controller中的填充,並返回到Ajax-View(json),它會重新組織。我不知道爲什麼。 – 2012-08-02 13:05:53

0

我認爲你必須使用PHP函數:

ksort($array); 

你可以看到功能上http://php.net/manual/en/function.ksort.php

+0

這樣的幫助器方法但是這個函數只是按索引對數組進行排序?而我想要的只是保持我創建的訂單,而不是正確的訂購。 – 2012-08-02 13:07:04