Hướng dẫn change key array php

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

Chủ Đề