2017-12-12 6 views
1

하나의 문자열이 배열에 여러 번 있고이 문자열을 반향시키고 싶을 때 한 번만 계산하려고합니다.foreach에있는 동일한 키가 몇 번이나 존재하는지 계산하는 방법 PHP

<?php 

global $wpdb; 

$results = $wpdb->get_results($wpdb->prepare("SELECT id FROM wp_frm_items WHERE user_id=%d ORDER BY created_at DESC", 97)); 
$i = 0; 

if ($results) { 
    foreach($results as $row) { 
     $policy_id = $wpdb->get_results($wpdb->prepare("SELECT meta_value FROM wp_frm_item_metas WHERE field_id=%d AND item_id=%s", 203, $row->id)); 

     $array = array($policy_id[0]->meta_value); 

     foreach ($array as $key) { 
      if (array_count_values($array) == 1) { 
       echo $key; 
      } else { 
       echo 'aaa'; 
      } 
     } 
    } 
} 

모든 아이디어를 어떻게이 작업을 수행 할 수 : 이 내 코드? 미리 감사드립니다.

+0

안녕하세요 Stanislav 님이 수정했습니다. 이것이 효과가 있는지 알려주세요! :) –

답변

0

도움이 되었습니까?

<?php 

$details = [ 
    0 => ["id"=>"1", "name"=>"Mike", "num"=>""], 
    1 => ["id"=>"2", "name"=>"Carissa", "num"=>"08548596258"], 
    2 => ["id"=>"1", "name"=>"Mathew", "num"=>"784581254"], 
]; 

function unique_multidim_array($array, $key) { 
    $temp_array = []; 
    $i = 0; 
    $key_array = []; 

    foreach($array as $val) { 
     if (!in_array($val[$key], $key_array)) { 
      $key_array[$i] = $val[$key]; 
      $temp_array[$i] = $val; 
     } 
     $i++; 
    } 
    return $temp_array; 
} 

$details = unique_multidim_array($details,'id'); // check on 'id' and remove duplicates 

echo '<pre>'; 
var_dump($details); 
echo '</pre>'; 
?> 

위 예제의 출력 :

array(2) { 
    [0]=> 
    array(3) { 
    ["id"]=> 
    string(1) "1" 
    ["name"]=> 
    string(4) "Mike" 
    ["num"]=> 
    string(10) "" 
    } 
    [1]=> 
    array(3) { 
    ["id"]=> 
    string(1) "2" 
    ["name"]=> 
    string(7) "Carissa" 
    ["num"]=> 
    string(11) "08548596258" 
    } 
} 

지금이 배열에 foreach 문을 사용할 수 있습니다. 그것은 중복을 건너 뛰었습니다.

문서 : 나는 당신이 당신이 필요로 $ 단어의 발행 수의 수를 원한다면

if (array_count_values($array) == 1){ 
    echo $key; 
} 

반환

if (array_count_values($array)[$key] === 1) { 
    echo $key; 
} 

array_count_values

에 연관 배열을 변경할 필요가 있다고 생각 http://php.net/manual/en/function.array-unique.php

+0

No..it didnt work : ( – Stanislav

+0

1 초, 변경하십시오. –

0

array_count_values ​​($ array) [$ word]. 또한 foreach에서는 "$ key"배열의 값을 지정하지 않을 것이므로 매우 혼란 스러울 수 있습니다.