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