2012-05-18 3 views

ответ

1
function checkName($haystack, $needle) { 
    foreach($haystack as $hay) { 
     if($hay['name'] == $needle) { 
     return true; 
     } 
    } 
    return false; 
} 
1

Iterate.

function multi_in_array($name, $array) { 
    foreach ($array as $sub_array) { 
     if (in_array($name, $array)) { 
      return true; 
     } 
    } 
    return false; 
} 
0

С этой структурой, единственным вариантом является по существу линейный поиск:

$found = null; 
foreach ($arr as $idx => $elem) { 
    if ($elem['name'] == $searchName) { 
     $found = $idx; 
    } 
} 
if ($found !== null) { 
    echo "Found $searchName at $idx."; 
} 
0

Эта функция поможет вам,

<?php 

    function multi_dim_array_search($array,$col,$val) 
    { 
     foreach($array as $elem) 
      if($elem[$col] == $val) 
       return true; 

      return false; 
    } 


    $array = array(
     array('id' => 1,'name' => 'Name1'), 
     array('id' => 2,'name' => 'Name2') 
    ); 

    //usage 
    var_dump(multi_dim_array_search($array,'name','Name1')); //true 
    var_dump(multi_dim_array_search($array,'name','Name2')); //true 
    var_dump(multi_dim_array_search($array,'name','Name3')); //false 


?> 
Смежные вопросы