2017-02-13 2 views
0
Array 
(
    [hid] => 1 
    [name] => Leonardo Royal Hotel Berlin Alexanderplatz 
    [address] => Otto-Braunstrasse 90, D-10249 Berlin, Germany 
    [price_from] => 5,180 
    [main_image] => 
    [latitude] => 52.5271842 
    [longitude] => 13.4214713,17 
    [images] => Array 
     (
      [0] => LeonardoRoyalHotelBerlinAlexanderplatz-800-600-1.jpg 
      [1] => LeonardoRoyalHotelBerlinAlexanderplatz-800-600-2.jpg 
      [2] => LeonardoRoyalHotelBerlinAlexanderplatz-800-600-3.jpg 
      [3] => LeonardoRoyalHotelBerlinAlexanderplatz-800-600-4.jpg 
     ) 

) 

나는 이와 같은 배열을 가지고 있습니다. 배열 값에서 "Berlin"과 같은 단어를 어떻게 검색 할 수 있습니까?배열 값에서 특정 입자를 검색하십시오.

+9

[배열의 부분 일치 검색] 가능한 복제본 (http://stackoverflow.com/questions/6932438/search-for-partial-value-match-in-an-array) – Scuzzy

+0

@ shefali-prajapati 이 단어가 존재한다는 것을 검색 하시겠습니까 (함수가 true 또는 false를 반환 할 것입니다). 또는 값이 베를린이라는 키를 원하십니까? –

+0

@ApoorvaShah 나는 true 또는 false를 반환하고 싶습니다. – Shefali

답변

1

당신은 array_walk_recursive 사용할 수 있습니다. 더 많은 정보를 원한다면 의견을주십시오.

$data = 'Your array here'; 
$str = 'Berlin'; 

array_walk_recursive($data, function($item, $key) use ($str) { 
    if (stripos($item, $str) !== false) { 
     echo $key; // or any action you want. 
    } 
}); 

뭔가가 인쇄되면 베를린이 일부 키에 존재합니다.

-1

희망이 코드는 몇 가지 중요한 존재 단지 베를린 알고 싶어하지 않는 경우

<?php 
$a=array("red folk","green book","blue"); 
$match="book"; 
$searchedValue=""; 
    foreach($a as $key=>$val){ 
    if(strpos($val,$match)) { 
    $searchedValue=$val; 
    } 
    } 
echo $searchedValue; 
관련 문제