2012-02-18 4 views
-1

終了時に値を確認したい場合は「終了」を表示し、そうでなければ「配列なし」を表示します。2次元配列の終了値を検索するにはどうすればいいですか?

1)。 は、私はこのような配列=>

$browse['pro_id'] = $id; 
    $browse['pro_name'] = $mobile_details[0]['pro_name']; 
    $browse['pro_brand'] = $mobile_details[0]['pro_brand']; 
    $browse['pro_price_own'] = $mobile_details[0]['pro_price_own']; 
    $mob_arr = $browse; 
    print_r($browse); 

//このプリント配列を作成します。..

Array 
(
    [pro_id] => mob810013034 
    [pro_name] => Galaxy Y S5360 
    [pro_brand] => Samsung 
    [pro_price_own] => 6291 
) 

2)。この2回後。私は、アレイ全体で[pro_id] = mobka10013042が、その後続けるかどうかを確認したい=>

array_push($mob_arr,$browse); 
print_r($mob_arr); 

//This print array like this... 


Array 
(
    [pro_id] => mob810013034 
    [pro_name] => Galaxy Y S5360 
    [pro_brand] => Samsung 
    [pro_price_own] => 6291 

    [0] => Array 
     (
      [pro_id] => mobka10013042 
      [pro_name] => A 1 
      [pro_brand] => Karbonn 
      [pro_price_own] => 6000 
     ) 
) 

上記指定された配列の配列をpusingています。私はin_array使用しますが、その本のために働いていない$ mob_arr

array_push($mob_arr,$browse); 

で再び他のPUCH配列...アプローチが何であるかわからない.....私に

+0

私はあなたが構造を作る場合、それは良いことだと思いますあなたの配列のより一貫性のある配列。そうでなければ、あなたはそれをそうする他の理由がありますか? :) –

+0

どうすれば良い構造体配列を作ることができますか... –

+0

あなたの配列の2番目の例では、あなたが作った 'pro_price_own'インデックスの後に1次元の連想配列構造体に他の値を入れて、配列の値の集合を持つインデックス0同じ連想配列のインデックス2次元配列構造を使っている場合は一貫性を保つことができます。そのようにしても簡単に操作できる場合は、2次元配列構造を使う方が良いでしょう。 –

答えて

0

このような構造を作成してください:

$myarr = Array 
(
    [0] => Array 
     (
      [pro_id] => mob810013034 
      [pro_name] => Galaxy Y S5360 
      [pro_brand] => Samsung 
      [pro_price_own] => 6291 
     ) 

    [1] => Array 
     (
      [pro_id] => mobka10013042 
      [pro_name] => A 1 
      [pro_brand] => Karbonn 
      [pro_price_own] => 6000 
     ) 
) 

そして、その値を取得するためにポップを使用します。

$mob_arr = array(); 
while(!empty($myarr)) 
{ 
    $temp = array_pop($myarr); 
    if($temp['pro_id']!='mobka10013042'){ 
     array_push($mob_arr,$temp); 
    } 
} 

if(empty($mob_arr)){ 
//actions when mob_arr variable is empty 
} else { 
    //if not 
} 
0

を示唆を与える

してください。しかし、これは物事を始めるのを助けるかもしれません。

$mob_arr = array(); 
$browse['pro_id'] = 'mob810013034'; 
$browse['pro_name'] = 'Galaxy Y S5360'; 
$browse['pro_brand'] = 'Samsung'; 
$browse['pro_price_own'] = '6291'; 
array_push($mob_arr,$browse); 

$browse['pro_id'] = 'mobka10013042'; 
$browse['pro_name'] = 'A 1'; 
$browse['pro_brand'] = 'Karbonn'; 
$browse['pro_price_own'] = '6000'; 

array_push($mob_arr,$browse); 


if(checkId($mob_arr, 'pro_id', 'mobka10013042')) { 
    print 'found the value...'; 
} else { 
    print 'no can not find the value...'; 
} 

function checkId($arr, $k, $v) { 
    foreach($arr as $browse) { 
    if($browse[$k] == $v) { 
     return true; 
    } 
    } 
    return false; 
} 
0
$i=0; 
foreach($mob_arr as $row) 
{ 
    if(is_array($row)) 
    { 
    if(in_array('mobka10013042',$row)) 
    { 
     $i=1; 
    } 
    } 
} 

if($i==1) 
{ 
    continue 
} 
else 
{ 
    // push another array 
} 
関連する問題