php數組運用

<?

//首頁生成xml文件時需要比較內容是否有變化,如果沒有變化則不需要重新生成xml文件,避免大量重寫xml文件。
//比較內容時需要用到數組比較。

//array_diff()數組差集,似乎可以更好支持'http://localhost/uploadfile/2012/1217/20121217124918900=+1.jpg'長字符串比較

//比較兩個數組$arr1,$arr2是否有差異,可以使用array_diff($arr1,$arr2),array_diff($arr2,$arr1)進行兩次比較。

//in_array()判斷字符串是否在數組中,但是'http://localhost/uploadfile/2012/1217/20121217124918900=+1.jpg'長字符串似乎無法比較。

 $myxml= simplexml_load_file('statics/dssx/config.xml');
 echo "<pre>";
 print_r($myxml);
 echo "====<br>";
 print_r($myxml->slides->slide);
 echo count($myxml->slides->slide);
 $xml_imageurls = array();
 foreach ($myxml->slides->slide as $slide){
 
 $xml_imageurls[] = (string)$slide->url;
 }
 echo "<br>+++++";
 var_dump($xml_imageurls);
 var_dump($db_imageurls);
 $result = array_diff($xml_imageurls, $db_imageurls);
 var_dump($result);
 
 $arr1 = array('http://localhost/uploadfile/2012/1217/20121217124918900=+1.jpg','http://localhost/uploadfile/2012/1217/20121217124918902.jpg',);
 $arr2 = array('http://localhost/uploadfile/2012/1217/20121217124918902.jpg','http://localhost/uploadfile/2012/1217/20121217124918900=.jpg=');
 $arr2 = array('http://localhost/uploadfile/2012/1217/20121217124918900=+.jpg','http://localhost/uploadfile/2012/1217/20121217124918902.jpg','123.com');
 $arr1 = array('http://localhost/uploadfile/2012/1217/20121217124918900=+.jpg','http://localhost/uploadfile/2012/1217/20121217124918902.jpg','123.com');
 print_r($arr1);
 print_r($arr2);
 function comp_func_cr($a, $b)
    { 
  echo "a:$a   b:$b<br>";
  if( $a === $b ) return 0;
  else return 1;
  //exit;
        //if ($a->priv_member === $b->priv_member) return 0;
        //return ($a->priv_member > $b->priv_member)? 1:-1;
    }
 
 echo "==========";
    $result = array_diff($arr2, $arr1);
 $result2 = array_diff($xml_imageurls, $db_imageurls);
 var_dump($result);
 var_dump($result2);
 echo "==========<br>";
 $result = array_udiff($arr1, $arr2, comp_func_cr);
 var_dump($result);
 
 if( in_array($arr1, $arr2) ){
  echo "yes";
 }
 else
  echo "false";
 
 echo "</pre>";

?>

<?

//首頁生成xml文件時需要比較內容是否有變化,如果沒有變化則不需要重新生成xml文件,避免大量重寫xml文件。
//比較內容時需要用到數組比較。

//array_diff()數組差集,似乎可以更好支持'http://localhost/uploadfile/2012/1217/20121217124918900=+1.jpg'長字符串比較

//比較兩個數組$arr1,$arr2是否有差異,可以使用array_diff($arr1,$arr2),array_diff($arr2,$arr1)進行兩次比較。

//in_array()判斷字符串是否在數組中,但是'http://localhost/uploadfile/2012/1217/20121217124918900=+1.jpg'長字符串似乎無法比較。

 $myxml= simplexml_load_file('statics/dssx/config.xml');
 echo "<pre>";
 print_r($myxml);
 echo "====<br>";
 print_r($myxml->slides->slide);
 echo count($myxml->slides->slide);
 $xml_imageurls = array();
 foreach ($myxml->slides->slide as $slide){
 
 $xml_imageurls[] = (string)$slide->url;
 }
 echo "<br>+++++";
 var_dump($xml_imageurls);
 var_dump($db_imageurls);
 $result = array_diff($xml_imageurls, $db_imageurls);
 var_dump($result);
 
 $arr1 = array('http://localhost/uploadfile/2012/1217/20121217124918900=+1.jpg','http://localhost/uploadfile/2012/1217/20121217124918902.jpg',);
 $arr2 = array('http://localhost/uploadfile/2012/1217/20121217124918902.jpg','http://localhost/uploadfile/2012/1217/20121217124918900=.jpg=');
 $arr2 = array('http://localhost/uploadfile/2012/1217/20121217124918900=+.jpg','http://localhost/uploadfile/2012/1217/20121217124918902.jpg','123.com');
 $arr1 = array('http://localhost/uploadfile/2012/1217/20121217124918900=+.jpg','http://localhost/uploadfile/2012/1217/20121217124918902.jpg','123.com');
 print_r($arr1);
 print_r($arr2);
 function comp_func_cr($a, $b)
    {  
  echo "a:$a   b:$b<br>";
  if( $a === $b ) return 0;
  else return 1;
  //exit;
        //if ($a->priv_member === $b->priv_member) return 0;
        //return ($a->priv_member > $b->priv_member)? 1:-1;
    }
 
 echo "==========";
    $result = array_diff($arr2, $arr1);
 $result2 = array_diff($xml_imageurls, $db_imageurls);
 var_dump($result);
 var_dump($result2);
 echo "==========<br>";
 $result = array_udiff($arr1, $arr2, comp_func_cr);
 var_dump($result);
 
 if( in_array($arr1, $arr2) ){
  echo "yes";
 }
 else
  echo "false";
 
 echo "</pre>";

?>


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章