Array_column đa chiều PHP

Để xử lý việc tìm kiếm một mảng nhiều chiều, bạn có thể sử dụng câu lệnh

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
4 hoặc hàm
$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
0

Một mảng đa chiều PHP có thể được tìm kiếm để xem nó có giá trị nhất định hay không

Hãy xem một ví dụ về việc thực hiện tìm kiếm. Giả sử bạn có một mảng nhiều chiều với cấu trúc sau

$users = [
    [
        "uid" => "111",
        "name" => "Nathan",
        "age" => 29,
    ],
    [
        "uid" => "254",
        "name" => "Jessie",
        "age" => 25,
    ],
    [
        "uid" => "305",
        "name" => "Michael",
        "age" => 30,
    ],
];

Để tìm kiếm mảng theo giá trị của nó, bạn có thể sử dụng câu lệnh

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
4

Bạn cần lặp qua mảng và xem liệu một trong các mảng con có giá trị cụ thể không

Ví dụ: giả sử bạn muốn lấy mảng có giá trị

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
2 là
$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
3

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}

Lưu ý rằng toán tử so sánh trong đoạn mã trên sử dụng

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
4 gấp ba lần

Điều này có nghĩa là loại giá trị được so sánh phải giống nhau

Đoạn mã trên sẽ tạo ra đầu ra sau

Array
[
    [uid] => 111
    [name] => Nathan
    [age] => 29
]

Trong PHP5. 5 trở lên, bạn cũng có thể sử dụng hàm

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
0 kết hợp với hàm
$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
6 để tìm mảng thỏa mãn điều kiện

Xem ví dụ bên dưới

$name = "Michael";
$key = array_search[$name, array_column[$users, "name"]];
print_r[$users[$key]];

Đoạn mã trên sẽ tạo ra đầu ra sau

$users = [
    [
        "uid" => "111",
        "name" => "Nathan",
        "age" => 29,
    ],
    [
        "uid" => "254",
        "name" => "Jessie",
        "age" => 25,
    ],
    [
        "uid" => "305",
        "name" => "Michael",
        "age" => 30,
    ],
];
0

Hãy tạo một chức năng tùy chỉnh từ mã tìm kiếm để bạn có thể thực hiện tìm kiếm động hơn dựa trên khóa và giá trị

Hàm tùy chỉnh này chấp nhận ba tham số

  1. $id = "111";
    foreach [$users as $k => $v] {
        if [$v["uid"] === $id] {
            print $users[$k];
        }
    }
    
    7 bạn muốn tìm kiếm
  2. $id = "111";
    foreach [$users as $k => $v] {
        if [$v["uid"] === $id] {
            print $users[$k];
        }
    }
    
    8 bạn muốn chìa khóa có
  3. $id = "111";
    foreach [$users as $k => $v] {
        if [$v["uid"] === $id] {
            print $users[$k];
        }
    }
    
    9 bạn muốn tìm kiếm

Chức năng có thể được viết như sau

$users = [
    [
        "uid" => "111",
        "name" => "Nathan",
        "age" => 29,
    ],
    [
        "uid" => "254",
        "name" => "Jessie",
        "age" => 25,
    ],
    [
        "uid" => "305",
        "name" => "Michael",
        "age" => 30,
    ],
];
4

Để xử lý trường hợp không tìm thấy giá trị cụ thể, bạn cần thêm điều kiện

Array
[
    [uid] => 111
    [name] => Nathan
    [age] => 29
]
0 vào hàm

Bạn có thể trả lại

Array
[
    [uid] => 111
    [name] => Nathan
    [age] => 29
]
1 hoặc
Array
[
    [uid] => 111
    [name] => Nathan
    [age] => 29
]
2 khi không tìm thấy
Array
[
    [uid] => 111
    [name] => Nathan
    [age] => 29
]
3

$users = [
    [
        "uid" => "111",
        "name" => "Nathan",
        "age" => 29,
    ],
    [
        "uid" => "254",
        "name" => "Jessie",
        "age" => 25,
    ],
    [
        "uid" => "305",
        "name" => "Michael",
        "age" => 30,
    ],
];
9

Bây giờ bạn có thể sử dụng hàm

Array
[
    [uid] => 111
    [name] => Nathan
    [age] => 29
]
4 bất cứ lúc nào bạn cần tìm kiếm một mảng nhiều chiều

Dưới đây là một số ví dụ

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
1

Đoạn mã trên sẽ tạo ra đầu ra sau

$id = "111";
foreach [$users as $k => $v] {
    if [$v["uid"] === $id] {
        print $users[$k];
    }
}
2

Bây giờ bạn đã học cách tìm kiếm một mảng nhiều chiều trong PHP

Khi cần tìm một mảng có giá trị cụ thể, bạn chỉ cần gọi hàm

Array
[
    [uid] => 111
    [name] => Nathan
    [age] => 29
]
4 ở trên

Làm cách nào để lấy một cột trong mảng 2d trong PHP?

Trong PHP, chúng ta có thể sử dụng phương thức array_column[] để tạo một cột từ một mảng nhiều chiều. Nó sẽ trả về một cột duy nhất từ ​​một mảng được xác định bởi khóa của cột. Chúng tôi cũng có thể chỉ định khóa nào sẽ được sử dụng làm chỉ mục cho mảng mới được trả về.

Làm cách nào để tạo mảng nhiều chiều trong PHP?

Bạn tạo một mảng nhiều chiều sử dụng cấu trúc array[] , giống như tạo một mảng thông thường. Sự khác biệt là mỗi phần tử trong mảng bạn tạo chính là một mảng. Ví dụ. $myArray = mảng[mảng[giá trị1,giá trị2,giá trị3],mảng[giá trị4,giá trị5,giá trị6],mảng[giá trị7,giá trị8,giá trị9]];

Làm cách nào để lấy mảng từ mảng nhiều chiều trong PHP?

Truy cập các phần tử mảng nhiều chiều. Có hai cách chủ yếu để truy cập các phần tử mảng đa chiều trong PHP. .
Có thể truy cập các phần tử bằng cách sử dụng các thứ nguyên như tên_mảng['thứ nguyên thứ nhất']['thứ nguyên thứ hai']
Các phần tử có thể được truy cập bằng cách sử dụng vòng lặp for
Các phần tử có thể được truy cập bằng cách sử dụng cho mỗi vòng lặp

Làm cách nào để lấy tất cả các giá trị từ mảng đa chiều trong PHP?

Truy xuất giá trị. Chúng ta có thể lấy giá trị của mảng nhiều chiều bằng phương pháp sau. .
Sử dụng phím. Chúng ta có thể sử dụng khóa của mảng kết hợp để lấy trực tiếp giá trị dữ liệu. .
Sử dụng vòng lặp foreach. Chúng ta có thể sử dụng vòng lặp foreach để truy xuất giá trị của từng khóa được liên kết bên trong mảng kết hợp đa chiều

Chủ Đề