当前位置: 首页 > 知识库问答 >
问题:

in_array()不使用二维关联数组?

孙德宇
2023-03-14

我试图非常简单地使用in_array()检查数组中的键,然后回显其值。

$array = Array
( 
    [cart_item] => Array 
        ( 
            [0] => Array 
                ( 
                    [product_name] => White Sakura Necktie
                    [id] => 11
                    [product_auto_id] => 556729685
                    [quantity] => 2
                    [product_regular_price] => 95
                    [product_sale_price] => 95
                    [product_image] => 556729680Black_Sakura_Necktie.jpg 
                )
            [1] => Array 
                ( 
                    [product_name] => hhhad ba bhdbh
                    [id] => 10
                    [product_auto_id] => 951790801
                    [quantity] => 2
                    [product_regular_price] => 20
                    [product_sale_price] => 
                    [product_image] => 951790801hhhad_ba_bhdbh_.jpg 
                )
        ) 
)

我有值556729685,我想检查这个值是否存在?所以我使用in_array()函数来实现这个。

in_array(556729685, array_keys($array));
in_array(556729685, array_values($array));
in_array(556729685, $array);

以上三个我都用过,但结果总是显示NULL表示空白。

我真的很沮丧找到解决办法。我不明白发生了什么。

共有1个答案

贝成业
2023-03-14

您应该使用array_column(),它将从输入数组中的单个列返回值作为数组。

$product_auto_ids = array_column($array['cart_item'], 'product_auto_id');

在这种情况下,它将返回以下内容:

Array
(
    [0] => 556729685
    [1] => 951790801
)

然后,您可以像当前一样使用in_array()

in_array(556729685, $product_auto_ids);
 类似资料:
  • 问题内容: 我过去经常检查数组中是否存在值,如下所示: 但是多维数组(下)如何处理-如何检查该值是否存在于多维数组中? 还是我不应该使用多维数组? 问题答案: 在多维数组上不起作用。您可以编写一个递归函数来为您做到这一点: 用法:

  • 问题内容: 有以下查询结果:(key1和key2可以是任何文本) 我希望将数据存储在网格(可能是数组)中,像这样 循环 所有记录: 在PHP中,使用关联数组非常容易: 但是在JavaScript这样的关联数组中不起作用。阅读大量教程之后,我所能得到的就是: 但不起作用。我尝试了对象数组,但是对象属性不能是自由文本。我阅读教程的时间越长,我就越困惑。 任何想法都欢迎:) 问题答案: 只需使用常规的J

  • 我对Javafx不熟悉,想知道如何从2维字符串数组填充桌面视图: 会非常感激你的回应。

  • 我正在编写一个计算和绘制抛物线的小程序。但我在程序中有一小部分需要计算valuetable。 二次函数如下:

  • 二维数组 #include <stdio.h> #include <stdlib.h> //01.二维数组: // 1.二维数组的内存存储原理: // 所有数组,无论一维数组,二维数组,多维数组,在内存当中的 // 存储实质都是采取的连续存储方式 // 2.二维数组的规律赋值方式: // 先进行行遍历,在进行列遍历,再逐个进行逐个数组元素的具体赋值操作 //