2016-05-24 5 views
1

PROGRESS:ほとんどそこが...最後のビットに助けが必要!PHPオブジェクト

$users = $client->getAccounts(); 


$num = count($users); 
for ($x=0; $x < $num; $x++){ 
    foreach($users[$x] as $y => $y_value) { 
     if($y_value == iLy){ 
      print_r($y); 
      echo '<br>'; 
      print_r($x); 
      echo '<br>'; 
      print_r($user[$x]["id"]); 
     } 
    } 
} 

は、上記の私が書いたコードの最新ビットであり、私は配列値または私は名前で検索で探しています配列を検索してきました。中print_r($user[$x]["id"]); 結果:

Warning: Illegal string offset 'id' in /home/examplesite/BLANK.com/CBapi.php on line 37 

は、私は私の解決策のためのロジックを発見するために、この単純化を使用: これは私が、私はちょうど間違ったキー名を呼び出しています信じて

<?php 
$age = array (array("name"=>"iLy", "id"=>"37", "balance"=>"43"), 
       array("name"=>"jim", "id"=>"67", "balance"=>"47")); 

echo $age[0]['id']; 

$num = count($age); 
for ($x=0; $x < $num; $x++){ 
    foreach($age[$x] as $y => $y_value) { 
     if($y_value == 43){ 
      print_r($y); 
      echo '<br>'; 
      print_r($x); 
      echo '<br>'; 
      print_r($age[$x]["id"]); 

     } 
    } 
} 
?> 

に動作します。以下
++++++++++++++++++++++ オリジナルポスト+++++++++++++++++++++ +

現在のコード:私は今、4日間これで苦労してきた

$configuration = Configuration::apiKey($apiKey, $apiSecret); 
$configuration->setApiUrl(Configuration::SANDBOX_API_URL); 
$client = Client::create($configuration); 

$users = $client->getAccounts(); 

...私は、以下の機能を使用し、それがオブジェクトの配列を含むオブジェクトを返します。私の目標は、キーと値のためのオブジェクトのコレクションを検索することで、(例えば、現在のユーザーの名前を検索するには:$currentuser = 'iLy'; $user = $currentuser;をその後、私は検索する私たちの例「ILY」の$users[2]となり、配列の値を、識別できます$アカウントIDを取得するためのキー値 'ID'、。

理想的には、私は '名前' => ILYを検索し、それがその同じアレイ内=> 'XXXXXXX' 'ID' を返す可能性があります。

ときIこれは私がのaccountIDを取得する方法を見つけ出すことができた唯一の方法である、と私は他のAPIは、名前でアカウントを取得するために呼び出す見つかっていない。私は$users[2]を使用して一つのオブジェクトを分離することができたのアカウントを作成します。私はこれは繰り返しの投稿かもしれないことは知っていますが、私は他の解決策を作ることができませんでしたrk。 PHP - find entry by object property from a array of objects

Array of PHP Objectsは、たぶん私は間違っているソリューションを使用していたり​​、間違ったそれらを適用します。どんな助けでも大歓迎です!

public function getAccounts(array $params = []) 
{ 
    return $this->getAndMapCollection('/v2/accounts',$params,'toAccounts');       
} 

戻り値この:

 
 

 
Coinbase\\Wallet\\Resource\\ResourceCollection Object (
 
[previousUri:Coinbase\\Wallet\\Resource\\ResourceCollection:private] => 
 
[nextUri:Coinbase\\Wallet\\Resource\\ResourceCollection:private] => 
 
[resources:Coinbase\\Wallet\\Resource\\ResourceCollection:private] => Array (
 
[0] => Coinbase\\Wallet\\Resource\\Account Object (
 
[name:Coinbase\\Wallet\\Resource\\Account:private] => Jennaod3 
 
[primary:Coinbase\\Wallet\\Resource\\Account:private] => 
 
[type:Coinbase\\Wallet\\Resource\\Account:private] => wallet 
 
[currency:Coinbase\\Wallet\\Resource\\Account:private] => BTC 
 
[balance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 0.00000000 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => BTC 
 
) 
 
[nativeBalance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 0.00 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => USD 
 
) 
 
[createdAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-24 04:55:41.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[updatedAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-24 04:55:41.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[id:Coinbase\\Wallet\\Resource\\Resource:private] => 0d41fc45-0a53-58cb-9931-c9a33f520963 
 
[resource:Coinbase\\Wallet\\Resource\\Resource:private] => account 
 
[resourcePath:Coinbase\\Wallet\\Resource\\Resource:private] => /v2/accounts/0d41fc45-0a53-58cb-9931-c9a33f520963 
 
[rawData:Coinbase\\Wallet\\Resource\\Resource:private] => Array (
 
[id] => 0d41fc45-0a53-58cb-9931-c9a33f520963 
 
[name] => Jennaod3 
 
[primary] => 
 
[type] => wallet 
 
[currency] => BTC 
 
[balance] => Array (
 
[amount] => 0.00000000 
 
[currency] => BTC 
 
) 
 
[native_balance] => Array (
 
[amount] => 0.00 
 
[currency] => USD 
 
) 
 
[created_at] => 2016-05-24T04:55:41Z 
 
[updated_at] => 2016-05-24T04:55:41Z 
 
[resource] => account 
 
[resource_path] => /v2/accounts/0d41fc45-0a53-58cb-9931-c9a33f520963 
 
) 
 
) 
 
[1] => Coinbase\\Wallet\\Resource\\Account Object (
 
[name:Coinbase\\Wallet\\Resource\\Account:private] => jenna works to 
 
[primary:Coinbase\\Wallet\\Resource\\Account:private] => 
 
[type:Coinbase\\Wallet\\Resource\\Account:private] => wallet 
 
[currency:Coinbase\\Wallet\\Resource\\Account:private] => BTC 
 
[balance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 0.00000000 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => BTC 
 
) 
 
[nativeBalance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 0.00 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => USD 
 
) 
 
[createdAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-22 13:37:16.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[updatedAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-22 13:37:16.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[id:Coinbase\\Wallet\\Resource\\Resource:private] => e7ab48b4-bc76-513a-a78b-6d627f32f848 
 
[resource:Coinbase\\Wallet\\Resource\\Resource:private] => account 
 
[resourcePath:Coinbase\\Wallet\\Resource\\Resource:private] => /v2/accounts/e7ab48b4-bc76-513a-a78b-6d627f32f848 
 
[rawData:Coinbase\\Wallet\\Resource\\Resource:private] => Array (
 
[id] => e7ab48b4-bc76-513a-a78b-6d627f32f848 
 
[name] => jenna works to 
 
[primary] => 
 
[type] => wallet 
 
[currency] => BTC 
 
[balance] => Array (
 
[amount] => 0.00000000 
 
[currency] => BTC 
 
) 
 
[native_balance] => Array (
 
[amount] => 0.00 
 
[currency] => USD 
 
) 
 
[created_at] => 2016-05-22T13:37:16Z 
 
[updated_at] => 2016-05-22T13:37:16Z 
 
[resource] => account 
 
[resource_path] => /v2/accounts/e7ab48b4-bc76-513a-a78b-6d627f32f848 
 
) 
 
) 
 
[2] => Coinbase\\Wallet\\Resource\\Account Object (
 
[name:Coinbase\\Wallet\\Resource\\Account:private] => iLy 
 
[primary:Coinbase\\Wallet\\Resource\\Account:private] => 
 
[type:Coinbase\\Wallet\\Resource\\Account:private] => wallet 
 
[currency:Coinbase\\Wallet\\Resource\\Account:private] => BTC 
 
[balance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 0.00000000 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => BTC 
 
) 
 
[nativeBalance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 0.00 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => USD 
 
) 
 
[createdAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-22 13:33:36.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[updatedAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-22 13:33:36.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[id:Coinbase\\Wallet\\Resource\\Resource:private] => c95fd701-cf2b-56f7-b438-9a2f0e61b21c 
 
[resource:Coinbase\\Wallet\\Resource\\Resource:private] => account 
 
[resourcePath:Coinbase\\Wallet\\Resource\\Resource:private] => /v2/accounts/c95fd701-cf2b-56f7-b438-9a2f0e61b21c 
 
[rawData:Coinbase\\Wallet\\Resource\\Resource:private] => Array (
 
[id] => c95fd701-cf2b-56f7-b438-9a2f0e61b21c 
 
[name] => iLy 
 
[primary] => 
 
[type] => wallet 
 
[currency] => BTC 
 
[balance] => Array (
 
[amount] => 0.00000000 
 
[currency] => BTC 
 
) 
 
[native_balance] => Array (
 
[amount] => 0.00 
 
[currency] => USD 
 
) 
 
[created_at] => 2016-05-22T13:33:36Z 
 
[updated_at] => 2016-05-22T13:33:36Z 
 
[resource] => account 
 
[resource_path] => /v2/accounts/c95fd701-cf2b-56f7-b438-9a2f0e61b21c 
 
) 
 
) 
 
[3] => Coinbase\\Wallet\\Resource\\Account Object (
 
[name:Coinbase\\Wallet\\Resource\\Account:private] => BTC Wallet 
 
[primary:Coinbase\\Wallet\\Resource\\Account:private] => 1 
 
[type:Coinbase\\Wallet\\Resource\\Account:private] => wallet 
 
[currency:Coinbase\\Wallet\\Resource\\Account:private] => BTC 
 
[balance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 0.10000000 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => BTC 
 
) 
 
[nativeBalance:Coinbase\\Wallet\\Resource\\Account:private] => Coinbase\\Wallet\\Value\\Money Object (
 
[amount:Coinbase\\Wallet\\Value\\Money:private] => 1000.00 
 
[currency:Coinbase\\Wallet\\Value\\Money:private] => USD 
 
) 
 
[createdAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-21 02:41:13.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[updatedAt:Coinbase\\Wallet\\Resource\\Account:private] => DateTime Object (
 
[date] => 2016-05-21 02:41:14.000000 
 
[timezone_type] => 2 
 
[timezone] => Z 
 
) 
 
[id:Coinbase\\Wallet\\Resource\\Resource:private] => 0e0dac44-6900-59e9-8183-99b9459d1205 
 
[resource:Coinbase\\Wallet\\Resource\\Resource:private] => account 
 
[resourcePath:Coinbase\\Wallet\\Resource\\Resource:private] => /v2/accounts/0e0dac44-6900-59e9-8183-99b9459d1205 
 
[rawData:Coinbase\\Wallet\\Resource\\Resource:private] => Array (
 
[id] => 0e0dac44-6900-59e9-8183-99b9459d1205 
 
[name] => BTC Wallet 
 
[primary] => 1 
 
[type] => wallet 
 
[currency] => BTC 
 
[balance] => Array (
 
[amount] => 0.10000000 
 
[currency] => BTC 
 
) 
 
[native_balance] => Array (
 
[amount] => 1000.00 
 
[currency] => USD 
 
) 
 
[created_at] => 2016-05-21T02:41:13Z 
 
[updated_at] => 2016-05-21T02:41:14Z 
 
[resource] => account 
 
[resource_path] => /v2/accounts/0e0dac44-6900-59e9-8183-99b9459d1205 
 
) 
 
) 
 
) 
 
)

答えて

0

これが私の答えだったし、それはかなりではありません。それは私が、私はそれは良いアイデアだったかはわからないAPIリソースファイルでの変数のいくつかは、公開しなければならなかったが判明したが、それは、このコードを使用して私の目標を達成しました:

$users = $client->getAccounts(); 

$num = count($users); 

for ($x=0; $x < $num; $x++){ 
    foreach($users[$x] as $y => $y_value) { 
     if($y_value == iLy) { 
      $bae = $users[$x]; 
      $account_id = ''; 
      foreach ($bae as $k => $k_value) { 
       $account_id = $k_value; 
      }   
     } 
    } 
} 

それはと思えます私のすべての配列はオブジェクトであり、必要な値を得るための唯一の方法はforeachループを使うことでした。