【问题标题】:Search substring in a PHP Array在 PHP 数组中搜索子字符串
【发布时间】:2018-11-28 01:17:07
【问题描述】:

我正在尝试在 PHP 数组中查找特定字符串,如下所示。

Array ( [0] => Array ( [0] => sku,qty,is_in_stock ) [1] => Array ( [0] => EBCDAA014MAS34B,149.000000,1 ));

我正在准备上面的数组,并将其存储在一个名为$listing的变量中

我正在使用array_find() 函数来执行此操作。

function array_find($needle, array $haystack)
{
    foreach ($haystack as $key => $value) {
        if (false !== stripos($value, $needle)) {
            return $key;
        }
    }
    return false;
}

$hello = array_find('EBCDAA014MAS34B', $listing);
echo $hello;

但是,我得到的回报是假的。谁能告诉我这样做的正确方法是什么?

【问题讨论】:

  • 看起来您使用 file() 读取 CSV,您最好正确处理此文件,而不是继续这个想法。

标签: php arrays search substring


【解决方案1】:

您的数组是一个数组数组,其中您的字符串是每个数组中的第一项,即$value[0]

尝试更改此行:

if (false !== stripos($value, $needle)) {

到这一行:

if (false !== stripos($value[0], $needle)) {

Demo

【讨论】:

  • 我太傻了!十分感谢你的帮助。我会接受你的回答
【解决方案2】:

您只需使用 in_array() PHP 函数,请参见下面的示例。

    $listing = Array ( [0] => Array ( [0] => sku,qty,is_in_stock ) [1] => Array ( [0] => EBCDAA014MAS34B,149.000000,1 ));
in_array('EBCDAA014MAS34B', $listing)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 2011-07-04
    • 2013-05-25
    • 2022-01-23
    • 1970-01-01
    • 2013-01-09
    • 2013-03-31
    相关资源
    最近更新 更多