0

xmlファイルがsimplexmlを介してロードされ、対応するIDが検索されるphpファイルがありますが、すべてが正常に機能しますが、IDを指定されたものと一致させると、機能しません。両方をエコーすると、表示されますが、一致するifステートメントを使用しますが一致しません

これが私のphpコードです

  <?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

$cat_xml= simplexml_load_file('http://artstack.com/sites/77/site_categories.xml'); 
$product_xml= simplexml_load_file('http://artstack.com/sites/77/site_products.xml'); 



function getcatid($product_name,$product_xml){
    foreach($product_xml as $product){
        if($product){
            if($product_name==$product->url){
                return $product->cat_id;
            }
        }
    }
}

function getcat($cat_id,$cat_xml){
    foreach($cat_xml as $cat){
        if($cat){
            if($cat_id==$cat->id){
                echo $cat['name'];
            }
            else{
                if(isset($cat->category)){
                    //sub cat
                    foreach($cat->category as $subcat){
                        if($subcat){
                            echo $cat_id." > ".$subcat->id."<br>";
                            if($cat_id==$subcat->id){
                                echo $cat_id." > ".$subcat->id."<br>";
                                exit;
                            }
                        }
                    }
                }
            }
        }       
    }   
}

getcat(getcatid($_GET['pro'],$product_xml),$cat_xml);
?>

出力は

75 > 73
75 > 74
75 > 75

しかし、それは

75 > 73
75 > 74
75 > 75
75 > 75
4

1 に答える 1

1

型キャストを使用した後に機能しました

if(intval($cat_id)==intval($subcat->id)){

ありがとう

于 2012-04-06T12:56:43.973 に答える