I have the below array:
array[10] {
[0]=>
array[2] {
["id"]=>
string[2] "73"
["position"]=>
string[1] "1"
}
[1]=>
array[2] {
["id"]=>
string[2] "58"
["position"]=>
string[1] "2"
}
[2]=>
array[2] {
["id"]=>
string[2] "82"
["position"]=>
string[1] "3"
}
[3]=>
array[2] {
["id"]=>
string[2] "84"
["position"]=>
string[1] "4"
}
[4]=>
array[2] {
["id"]=>
string[2] "74"
["position"]=>
string[1] "5"
}
[5]=>
array[2] {
["id"]=>
string[2] "59"
["position"]=>
string[1] "6"
}
[6]=>
array[2] {
["id"]=>
string[2] "72"
["position"]=>
string[1] "7"
}
[7]=>
array[2] {
["id"]=>
string[2] "78"
["position"]=>
string[1] "7"
}
[8]=>
array[2] {
["id"]=>
string[2] "77"
["position"]=>
string[1] "8"
}
[9]=>
array[2] {
["id"]=>
string[2] "71"
["position"]=>
string[1] "8"
}
}
I want the keys indexes of array to be replaced with position values. The output should be like below:
array[10] {
[1]=>
array[2] {
["id"]=>
string[2] "73"
["position"]=>
string[1] "1"
}
[2]=>
array[2] {
["id"]=>
string[2] "58"
["position"]=>
string[1] "2"
}
[3]=>
array[2] {
["id"]=>
string[2] "82"
["position"]=>
string[1] "3"
}
[4]=>
array[2] {
["id"]=>
string[2] "84"
["position"]=>
string[1] "4"
}
[5]=>
array[2] {
["id"]=>
string[2] "74"
["position"]=>
string[1] "5"
}
[6]=>
array[2] {
["id"]=>
string[2] "59"
["position"]=>
string[1] "6"
}
[7]=>
array[2] {
["id"]=>
string[2] "72"
["position"]=>
string[1] "7"
}
[7]=>
array[2] {
["id"]=>
string[2] "78"
["position"]=>
string[1] "7"
}
[8]=>
array[2] {
["id"]=>
string[2] "77"
["position"]=>
string[1] "8"
}
[8]=>
array[2] {
["id"]=>
string[2] "71"
["position"]=>
string[1] "8"
}
}
I tried the below code but it just prints one element in array:
$newarr = array[];
$values = $this->request->get[ 'values', null ];
foreach [$values as $oldkey => $value] {
$position = $value["position"];
$newarr[$position] = $values[$oldkey];
$values=$newarr;
unset[$newarr];
}
var_dump[$values];exit;
var_dump result of $values
is
Notice: Undefined offset: 8 in ResourcesController.php
Notice: Undefined offset: 9 in ResourcesController.php on line 367
array[1] {
[8]=>
NULL
}`
- Trang chủ
- Hướng dẫn học
- Học PHP
- PHP array thường dùng
Định nghĩa và cách dùng PHP array
PHP count[], đếm số lượng phần tử trong mảng
Cũng có thể xem là chiều dài mảng.
Php viết:
PHP array_push[], thêm phần tử vào cuối mảng
Chèn thêm phần tử vào cuối mảng.
Php viết:
PHP array_pop[], xóa phần tử ở cuối mảng
Php viết:
PHP array_unshift[], thêm phần tử vào đầu mảng
Chèn thêm phần tử vào đầu mảng.
Php viết:
PHP array_shift[], xóa phần tử ở đầu mảng
Php viết:
PHP array_unique[], loại bỏ giá trị trùng trong mảng
Nếu nhiều hơn 1 giá trị bị trùng nhau, array_unique
sẽ giữ lại giá trị đầu tiên, và loại bỏ các giá trị còn lại.
Lưu ý là key cũng bị xóa tương ứng với giá trị bị xóa, do đó không dùng for để liệt kê các phần tử mảng sau khi dùng array_unique
được, vì sẽ có key bị thiếu.
Php viết:
Array [ [0] => HTML [1] => CSS [2] => JS [4] => PHP ]
Ta thấy giá trị CSS của [3] trùng với [1], do đó [3] đã bị loại bỏ.
PHP array_slice[], tách mảng ra mảng con
Tách từ 1 vị trí được chọn.
Array [ [0] => CSS [1] => JS [2] => PHP ]
Tách từ 2 vị trí được chọn.
Array [ [0] => CSS [1] => JS ]
Tách ngược từ 1 vị trí được chọn.
Array [ [0] => JS [1] => PHP ]
Tách ngược từ 2 vị trí được chọn.
PHP array_search[], tìm giá trị trong mảng và trả về key
Php viết:
Do giá trị CSS ở vị trí [1], nên kết quả là 1.
PHP array_key_exists[], tìm key trong mảng
Tìm key trong mảng, trả về true nếu có, ngược lại trả về false.
Php viết:
Do giá trị CSS ở vị trí [1], nên kết quả là 1.
PHP sort[], sắp xếp mảng theo thứ tự tăng dần
Nếu là số thì 1, 2, ...
Nếu là chữ thì a, b, ...
Php viết:
PHP rsort[], sắp xếp mảng theo thứ tự giảm dần
Nếu là số thì n, n-1, ...
Nếu là chữ thì z, y,...
Php viết:
PHP ksort[], sắp xếp mảng theo thứ tự key tăng dần
Nếu là số thì 1, 2, ...
Nếu là chữ thì a, b, ...
Php viết:
Key=CSS, Value=2 tuần
Key=HTML, Value=1 tuần
Key=JS, Value=5 tuần
Key=PHP, Value=3 tuần
PHP krsort[], sắp xếp mảng theo thứ tự key giảm dần
Nếu là số thì n, n-1, ...
Nếu là chữ thì z, y,...
Php viết:
Key=PHP, Value=3 tuần
Key=JS, Value=5 tuần
Key=HTML, Value=1 tuần
Key=CSS, Value=2 tuần
PHP asort[], sắp xếp mảng theo thứ tự giá trị tăng dần
Nếu là số thì 1, 2, ...
Nếu là chữ thì a, b, ...
Php viết:
Key=HTML, Value=1 tuần
Key=CSS, Value=2 tuần
Key=PHP, Value=3 tuần
Key=JS, Value=5 tuần
PHP arsort[], sắp xếp mảng theo thứ tự giá trị giảm dần
Nếu là số thì n, n-1, ...
Nếu là chữ thì z, y,...
Php viết:
Key=JS, Value=5 tuần
Key=PHP, Value=3 tuần
Key=CSS, Value=2 tuần
Key=HTML, Value=1 tuần