2016-08-27 4 views
0

私はarray()の列の名前を取得するスクリプトを持っています。 APIからは、複数の値を持つarray()を取得できます。特定の列の名前を取得したいと考えています。配列の列名を取得する方法は?

私は列の名前がありません。どのようにリストを取得して1つずつ取得しますか? ここでは、「573」だけを取得したいと考えています。

Array ([success] => 1 [errors] => Array () [data] => Array ([Messages] => Array ([573] => PHP is fun))) 

ありがとうございました。

+0

サンプル配列の表示 –

+0

メッセージの下のすべての列を取得しますか?あるいは、特定の列を検索したいとしますか?たとえば、573を検索し、PHPが楽しいという結果を得るなどですか? –

+0

答えがあなたの問題を解決した場合は、答えを受け入れることを検討してください。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workがここに戻って、ティック/チェックマークで緑色に変わるまで同じことを行う方法があります。これはコミュニティに通知し、解決策が見つかりました。そうでなければ、他の人は質問がまだ開いていると思うかもしれませんし、(もっと)回答を投稿したいかもしれません。あなたはポイントを獲得し、他の人はあなたを助けることを奨励されます。 * Stackへようこそ!* –

答えて

0

あなただけのキーの一致に基づいて値を再帰または返すために自分自身を使用する再帰的なイテレータをしなければならない。

<?php 
$arr = array(
       'success' => 1, 
       'errors' => array(), 
       'data' => array(
        'Messages' => array(
         573 => 'PHP is fun' 
        ) 
       ) 
      ); 

function recurseIt($array,$find = false) 
    { 
     # Loop through array 
     foreach($array as $key => $value) { 
      # If the key is the same as the value 
      if($key == $find) 
       # Send back the value 
       return $value; 
      # If the value is an array 
      if(is_array($value)) { 
       # Use same array to recurse the array 
       $val = recurseIt($value,$find); 
       # If there is a value to return 
       if(!empty($val)) 
        # Send it back 
        return $val; 
      } 
     } 
    } 
# Note, if the key matches, could also be an array 
echo recurseIt($arr,573); 

あなたが与える:

PHP is fun 

EDIT:

おそらくキーがわからない場合は値があるので、検索値に基づいてキーを返します:

function recurseIt($array,$find = false) 
    { 
     foreach($array as $key => $value) { 
      # If the key is the same as the value 
      if(!is_array($value) && ($value == $find)) 
       # Send back the key name 
       return $key; 
      if(is_array($value)) { 
       $val = recurseIt($value,$find); 
       if(!empty($val)) 
        return $val; 
      } 
     } 
    } 

echo recurseIt($arr,'PHP is fun'); 

はあなたを与える:

573 

、あなたはその関数がどのように認識していない、キー名が何であるかを知らないと、関連する値は次のようになりわからない場合サーチ。 read_my_mind()はまだPHPライブラリには入っていないので、その時点であなたはかなり運が悪いです。

+0

573番はわかりません。 – Aymeric28

+0

あなたは573の価値を知っていますか?あなたは何かの配列を検索することができるようにする必要がありますので、キーでない場合は、値を検索してキーを返す必要があります – Rasclatt

関連する問題