ランダムで取り出したトランプの模様と数字が特定の値であった際に画像を表示するロジックを組みたいのですが、下記だとエラーがでてしまいます。

原因は一体どこにあるのでしょうか。ちなみに画像パスは正しいです。
(例えばハートの4がランダムで出た場合、ハートの4の画像をimage/pngディレクトリ内のh04.pngを呼び出すのがゴールです。)

<?php
//カードを作成
$cards = array();
$marks = array("clover","heart","diamond","spade");

for($mark=0;$mark<4;$mark++){
    for($num=1;$num<=13;$num++){
        array_push($cards, array($marks[$mark] => "$num"));
    }
}   

$rnd = array_map(
    function($i) use($cards){
        return $cards[$i];
    },
    array_rand($cards,5));

if($cards == "[heart]" => "4"){
        echo "image/png/h04.png"; 
    }