簡體   English   中英

如何檢查字符串數組中是否存在字符串

[英]how to check if a string exists in an array of strings

我將數據存儲在一個字符串中:例如$string='12';
'12'代表2個數據, 12

在3列中,我存儲了相同的ID,數組如下:

ex1: $array= ('num1' => 1, 'num2' => 2, 'num3' => )
ex2: $array= ('num1' => 5, 'num2' => 4, 'num3' => 3)

如果兩個地方都存在數字,我怎么能比較這些並返回true?

例如:使用上面的例子:對於ex1: 12return TRUE

34return FALSE為EX2: 345return TRUE

試試這個:你可以使用array_intersect ()。

$string = '12';

//split string into array of characters
$arr = str_split($string);

//testing columns
$compare1 = array('num1' => 1, 'num2' => 2, 'num3' => '');
$compare2 = array('num1' => 5, 'num2' => 4, 'num3' => 3);

//returns an array containing all the values of $arr inside $compare1
$int1 = array_intersect($arr, $compare1);

//returns an array containing all the values of $arr inside $compare2
$int2 = array_intersect($arr, $compare2);

//if $arr contents are in $compare1 return true, otherwise false
echo ! empty($int1);

//if $arr contents are in $compare2 return true, otherwise false
echo ! empty($int2);

嘗試in_array()函數http://php.net/manual/en/function.in-array.php

但我不明白為什么345會回歸真實

這有效,請看下面的結果:(兩個數組中的值必須存在才能返回true。

  $result = true;
    $string1 = '43';
    $string = str_split($string1);
    $example1 = array('num1' => 1, 'num2' => 2, 'num3' => 3,  'num4' => 4, 'num5' => 5);
    $example2 = array('num1' => 5, 'num2' => 4, 'num3' => 3);
    foreach ($string as $st) {
        if((in_array($st, $example1) && in_array($st, $example2))  && $result == true){
            $result = true; //true
        } else {
            $result = false;
        }
    }
    if($result == true){
            echo 1; //true
        } else {
            echo 0; //false
        }
    exit;
    //Test Results:
    //$string1 = '12'; //result 0
    //$string1 = '34'; //result 1
    //$string1 = '55'; //result 1
    //$string1 = '43'; //result 1

我遲到了...但我已經開始,所以不妨! 這是我的解決方案:

function yayOrNay($array, $string) {

    $stringArray = str_split($string);

    $arrayDiff = array_diff($stringArray, array_values($array));

    return empty($arrayDiff);
}

現場演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM