मेरे पास एक सरणी है:
array(4) {
[0]=>
array(34) {
["id"]=>
int(6)
["order_reference"]=>
string(9) "200123130"
["store_reference"]=>
....
[1]
array(34) {
["id"]=>
int(6)
["order_reference"]=>
string(9) "20222220"
["store_reference"]=>
...
मैं इस सरणी रखना चाहते हैं:
array(4) {
[200123130]=>
array(34) {
["id"]=>
int(6)
["order_reference"]=>
string(9) "200123130"
["store_reference"]=>
....
[20222220]
array(34) {
["id"]=>
int(6)
["order_reference"]=>
string(9) "20222220"
["store_reference"]=>
...
मैंने यही कोशिश की:
$i = 0;
foreach ($data["data"] as &$key) {
$data["data"][$key["order_reference"]] = array_values($data["data"][$i]);
$i++;
}
लेकिन मुझे एक बड़ा ऐरे मिलता है, जैसे शुरू:
array(9) {
[0]=>
&array(34) {
["id"]=>
इसे ठीक करने का कोई तरीका ?
उत्तर:
जवाब के लिए 3 № 1आप बस कर सकते हैं:
$newarray = array_combine(array_column($orig, "order_reference"), $orig);
array_combine () - कुंजियों के लिए एक सरणी और इसके मान के लिए दूसरे का उपयोग करके एक सरणी बनाता है
array_column () - इनपुट ऐरे में किसी एकल कॉलम से मान लौटाएं
जवाब के लिए 0 № 2
आप इसे एकल कॉल के साथ कर सकते हैं array_column
तीसरे का उपयोग करना $index_key
पैरामीटर:
$new = array_column($orig, null, "order_reference");