2017-06-04 7 views
1

TMDBのアクターの写真を私のウェブサイトに表示する機能があります。配列なしで印刷する方法はありますか?print_rとだけ印刷します。エコーやプリントのようにプリントします。配列を持たない値を表示する(print_r)

これはコードです:

public function getCasts($movieID) 
{ 
    if (empty($movieID)) return; 

    function cmpcast($a, $b) 
    { 
     return ($a["order"]>$b["order"]); 
    } 

    $temp = $this->_call("movie/" . $movieID . "/casts"); 
    $casts = $temp['cast']; 

    $temp = array(); 
    if (count($casts) > 0) 
    { 
     usort($casts, "cmpcast"); 
     foreach ($casts as &$actor) { 
      if (!empty($actor['profile_path'])) { 
       for ($i=6; $i<count($temp['id']); $i++) 
        if ($temp['name'][$i] == $actor['name']) $temp['char'][$i] .= "/".str_replace('(voice)', '(hang)', $actor['character']); 

       if (!in_array($actor['name'], (array) $temp['name'])) { 
         $temp['pic'][] = "<div style='margin-top:15px;' align='center'><div style='width:140px;margin-right:8px;display:inline-block;vertical-align:top;'><img style='width:130px;height:130px;border-radius:50%;' src='".$this->getImageURL().$actor['profile_path']."'><br />".$actor['name']."<br />".$actor['character']."</div></div>"; 
        } 
      } 
     } 
    } 
    return $temp; 
} 
+0

はい、ただし、エコーをアレイ内に向けなければなりません。 'echo $ temp ['pic'] [0];'と同様です。 –

+0

ありがとう、私はそれを逃したIDK。 –

+0

ところで、表示するアイテムを制限する方法はありますか? –

答えて

1

あなたはループのいくつかの種類を使用することができます。エコーする項目の数を制限する場合は、forループを使用してください。例えば

$casts = getCasts(1); 

for ($i = 0; $i < 5; $i++) { 
    if (isset($casts['pic'][$i])) { 
     echo $casts['pic'][$i]; 
    } 
} 

はそれがお役に立てば幸いです。

+0

配列に数値インデックスがない場合、これは期待どおりに機能しません。 –

+0

はい@u_mulderです。あなたが正しいが、オペレーションコードから。配列には数値インデックスがあります。 – JazZ

関連する問題