Hướng dẫn how to find key value in multidimensional array in php? - làm thế nào để tìm giá trị khóa trong mảng nhiều chiều trong php?

Một giải pháp posible khác dựa trên hàm array_search(). Bạn cần sử dụng Php 5.5.0 trở lên.need to use PHP 5.5.0 or higher.

Thí dụ

$userdb=Array
(
    (0) => Array
        (
            (uid) => '100',
            (name) => 'Sandra Shush',
            (url) => 'urlof100'
        ),

    (1) => Array
        (
            (uid) => '5465',
            (name) => 'Stefanie Mcmohn',
            (pic_square) => 'urlof100'
        ),

    (2) => Array
        (
            (uid) => '40489',
            (name) => 'Michael',
            (pic_square) => 'urlof40489'
        )
);

$key = array_search(40489, array_column($userdb, 'uid'));

echo ("The key is: ".$key);
//This will output- The key is: 2

Giải trình

Hàm `mảng_search ()` có hai đối số. Đầu tiên là giá trị mà bạn muốn tìm kiếm. Thứ hai là nơi chức năng nên tìm kiếm. Hàm `mảng_column ()` nhận được các giá trị của các phần tử mà khóa là `'uid'`.

Bản tóm tắt

Vì vậy, bạn có thể sử dụng nó như:

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));

Hoặc, nếu bạn thích:

// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');

Ví dụ ban đầu (của xfoxawy) có thể được tìm thấy trên các tài liệu. Trang array_column().
The array_column() page.


Cập nhật

Do nhận xét của VAEL, tôi đã tò mò, vì vậy tôi đã thực hiện một bài kiểm tra đơn giản để thực hiện hiệu suất của phương pháp sử dụng array_search và phương pháp được đề xuất trên câu trả lời được chấp nhận.

Tôi đã tạo một mảng chứa 1000 mảng, cấu trúc giống như thế này (tất cả dữ liệu đều được chọn ngẫu nhiên):

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]

Tôi đã chạy thử nghiệm tìm kiếm 100 lần tìm kiếm các giá trị khác nhau cho trường tên và sau đó tôi đã tính thời gian trung bình tính bằng mili giây. Ở đây bạn có thể thấy một ví dụ.milliseconds. Here you can see an example.

Kết quả là phương pháp được đề xuất trên câu trả lời này cần khoảng 2E-7 để tìm giá trị, trong khi phương pháp trả lời được chấp nhận cần thiết khoảng 8E-7.

Giống như tôi đã nói trước cả hai lần đều khá dễ nhận đối với một ứng dụng sử dụng một mảng có kích thước này. Nếu kích thước tăng lên rất nhiều, giả sử các yếu tố 1M, thì sự khác biệt nhỏ này cũng sẽ được tăng lên.

Cập nhật ii

Tôi đã thêm một bài kiểm tra cho phương pháp dựa trên array_walk_recursive được đề cập trên một số câu trả lời ở đây. Kết quả có là chính xác. Và nếu chúng ta tập trung vào hiệu suất, nó tồi tệ hơn một chút so với những người khác được kiểm tra trong bài kiểm tra. Trong thử nghiệm, bạn có thể thấy nó chậm hơn khoảng 10 lần so với phương pháp dựa trên array_search. Một lần nữa, đây không phải là một sự khác biệt rất phù hợp cho hầu hết các ứng dụng.

Cập nhật III

Cảm ơn @mickmackusa đã phát hiện ra một số hạn chế về phương pháp này:

  • Phương pháp này sẽ thất bại trên các khóa liên kết.
  • Phương pháp này sẽ chỉ hoạt động trên Subarrays được lập chỉ mục (bắt đầu từ 0 và có các khóa tăng dần liên tiếp).

Lưu ý về Cập nhật III

  • Không đưa hiệu suất vào tài khoản: Bạn có thể sử dụng Array_Combine với Array_Keys & Array_Column để khắc phục giới hạn này trong một lớp học như:
$product_search_index = 
array_search( 'breville-one-touch-tea-maker-BTM800XL', array_filter( array_combine( array_keys($products), array_column( $products, 'slug' ) ) ) );

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
0

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
1
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
2
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
3
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
4
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
4__17171718

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
0
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
1
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2223

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
5
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
7
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
3
[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
0

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
5
[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
3
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
3
[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
5
[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
7
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
3
[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
5
$product_search_index = 
array_search( 'breville-one-touch-tea-maker-BTM800XL', array_filter( array_combine( array_keys($products), array_column( $products, 'slug' ) ) ) );
1__171718

$product_search_index = 
array_search( 'breville-one-touch-tea-maker-BTM800XL', array_filter( array_combine( array_keys($products), array_column( $products, 'slug' ) ) ) );
4
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
0
$product_search_index = 
array_search( 'breville-one-touch-tea-maker-BTM800XL', array_filter( array_combine( array_keys($products), array_column( $products, 'slug' ) ) ) );
6
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
3
$product_search_index = 
array_search( 'breville-one-touch-tea-maker-BTM800XL', array_filter( array_combine( array_keys($products), array_column( $products, 'slug' ) ) ) );
8

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1array_search()0

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1array_search()2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
3 array_search()5 array_search()6
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
8

$product_search_index = 
array_search( 'breville-one-touch-tea-maker-BTM800XL', array_filter( array_combine( array_keys($products), array_column( $products, 'slug' ) ) ) );
4
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
0
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
1array_column()1
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
0array_column()4

array_column()5

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
2array_search()6
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
4
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
4
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
7array_search2

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1array_search()0

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9array_search()0

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9array_search8
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
0
$product_search_index = 
array_search( 'breville-one-touch-tea-maker-BTM800XL', array_filter( array_combine( array_keys($products), array_column( $products, 'slug' ) ) ) );
8

array_search()0

array_walk_recursive2

// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
1
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2226

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9array_walk_recursive7 array_walk_recursive8
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2226

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1array_search2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5array_search6array_search7array_search8array_search9
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
02
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
06array_search7array_search8
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
09
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

Các

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
22
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
26array_search7array_search8
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
29
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
30

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
34 array_walk_recursive8
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2226

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1array_search2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
43array_search7array_search8
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
46
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
02
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
53array_search7array_search8array_search9
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
12
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
63array_search7array_search8
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
66
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

Các

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
81 array_walk_recursive8
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2226

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1array_search2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
90array_search7array_search8
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
93
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
02
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
00array_search7array_search8
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
03
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
00

[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
1
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
12
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
2
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6array_search5
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
10array_search7array_search8
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
13
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
30

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
30

// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
17

Is

array_search()2

// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
6
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
18 array_search()5
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
30
array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
8

array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
9
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
33
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
30
[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
5
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
36
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
37
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
38
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
39
// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
30
[
      {
            "_id": "57fe684fb22a07039b3f196c",
            "index": 0,
            "guid": "98dd3515-3f1e-4b89-8bb9-103b0d67e613",
            "isActive": true,
            "balance": "$2,372.04",
            "picture": "http://placehold.it/32x32",
            "age": 21,
            "eyeColor": "blue",
            "name": "Green",
            "company": "MIXERS"
      },...
]
5__9

array_search()0

// define function
function array_search_multidim($array, $column, $key){
    return (array_search($key, array_column($array, $column)));
}

// use it
array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
47

Làm thế nào để có được khóa của mảng đa chiều trong PHP?

Truy xuất các giá trị: Chúng ta có thể truy xuất giá trị của mảng đa chiều bằng phương pháp sau:..
Sử dụng khóa: Chúng ta có thể sử dụng khóa của mảng kết hợp để truy xuất trực tiếp giá trị dữ liệu. ....
Sử dụng Foreach Loop: 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 ..

Làm thế nào để bạn tìm thấy giá trị của mảng đa chiều?

Tổng số phần tử có thể được lưu trữ trong một mảng đa chiều có thể được tính bằng cách nhân kích thước của tất cả các kích thước. Ví dụ: mảng int x [10] [20] có thể lưu trữ tổng số (10*20) = 200 yếu tố.multiplying the size of all the dimensions. For example: The array int x[10][20] can store total (10*20) = 200 elements.

Array_Keys () được sử dụng trong PHP là gì?

Array_Keys () là một hàm tích hợp trong PHP và được sử dụng để trả về tất cả các khóa và mảng hoặc tập hợp con của các khóa.Tham số: Hàm lấy ba tham số trong đó một tham số là bắt buộc và hai tham số khác là tùy chọn.to return either all the keys of and array or the subset of the keys. Parameters: The function takes three parameters out of which one is mandatory and other two are optional.

Làm thế nào để bạn kiểm tra xem một khóa có tồn tại trong một mảng PHP không?

Hàm ARRAY_KEY_EXISTS () PHP ARRAYarray_key_exists() Function The array_key_exists() function checks an array for a specified key, and returns true if the key exists and false if the key does not exist.