程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php判斷多維數組是否存在某個值

php判斷多維數組是否存在某個值

編輯:關於PHP編程

     我們先來解一下in_array檢查數組中是否存在某個值

    代碼如下

    <?php
    $os = array("Mac", "NT", "Irix", "Linux");

    echo “(1)”;
    if (in_array("Irix", $os)) {
    echo "Got Irix";
    }
    if (in_array("mac", $os)) {//in_array() 是區分大小寫的
    echo "Got mac";
    }

    $a = array('1.10', 12.4, 1.13);
    echo "(2)";

    if (in_array('12.4', $a, true)) {//in_array() 嚴格類型檢查
    echo "'12.4' found with strict checkn";
    }
    if (in_array(1.13, $a, true)) {
    echo "1.13 found with strict checkn";
    }

    $a = array(array('p', 'h'), array('p', 'r'), 'o');
    echo "(3)";

    if (in_array(array('p', 'h'), $a)) {
    echo "'ph' was foundn";

    }

    if (in_array(array('f', 'i'), $a)) {//in_array() 中用數組作為 needle
    echo "'fi' was foundn";
    }
    if (in_array('o', $a)) {
    echo "'o' was foundn";
    }
    ?>

    程序運行結果是:

    (1)Got Irix

    (2)1.13 found with strict check

    (3)'ph' was found 'o' was found

    上面都是一維數組了很簡單,下面來看多維數據是否存在某個值


    代碼如下

    $arr = array(
    array('a', 'b'),
    array('c', 'd')
    );

    in_array('a', $arr); // 此時返回的永遠都是 false
    deep_in_array('a', $arr); // 此時返回 true 值

    function deep_in_array($value, $array) { 
    foreach($array as $item) { 
    if(!is_array($item)) { 
    if ($item == $value) {
    return true;
    } else {
    continue; 
    }

    if(in_array($value, $item)) {
    return true; 
    } else if(deep_in_array($value, $item)) {
    return true; 
    }

    return false; 
    }

    該方法是在php幫助手冊in_array方法詳解頁面下的評論看到的,平時沒事多看看幫助手冊,特別是後面的經典評論,裡面收集了不少人的經典方法啊。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved