用curl
象山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
$ch = curl_init();
$header[] = "Content-type: text/xml";//定義content-type為xml
curl_setopt($ch, CURLOPT_URL, $url); //定義表單提交地址
curl_setopt($ch, CURLOPT_POST, 1); //定義提交類型 1:POST ;0:GET
curl_setopt($ch, CURLOPT_HEADER, 1); //定義是否顯示狀態(tài)頭 1:顯示 ; 0:不顯示
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定義請(qǐng)求類型
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//定義是否直接輸出返回流
curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr); //定義提交的數(shù)據(jù),這里是XML文件
$res = curl_exec($ch);
curl_close($ch);//關(guān)閉
如果你會(huì)用jquery,那我還可以幫到你。jquery里面有很多種ajax的方法,我舉個(gè)簡(jiǎn)單的$.post方法,這是用ajax提交數(shù)據(jù),提交數(shù)據(jù)的形式是post。
$.post('index.php','',function(data){
alert(data);
});
其中index.php是你后臺(tái)發(fā)送json數(shù)據(jù)的php文件,function里面的data參數(shù)則是php文件返回的json數(shù)據(jù),一般是echo 出來(lái)的json數(shù)據(jù),第二個(gè)參數(shù)是用來(lái)傳遞參數(shù)給index.php的
對(duì)于json,PHP有對(duì)應(yīng)的方法進(jìn)行操作。
一般而言,json會(huì)以字符串形式傳給PHP腳本,一般都是放在$_POST里面,
14
?php
// 接收
$json_parameter = $_POST['json_str'];
// 處理, 變成數(shù)組
$array = json_decode($json_parameter);
// PHP 把數(shù)組數(shù)據(jù)變成json格式字符串,發(fā)給頁(yè)面
$demo = array(
'key' = 'value',
'key2' = 'value2'
);
$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}
echo $demo_json;
代碼都基于jquery
jsonp?? 可以跨域 例如:
$.ajax({
url:'example.php',
type:'GET',
dataType:'jsonp',
jsonp:'callback',
success:function(data){
/*比如example.php是這樣?php?
$callback=$_REQUEST['callback'];
echo?$callback.'('.json_encode(array('id'=1)).')';???
這里的data??就是????{"id":1}
*/
}
});
不跨域? ajax就可以? 例如:
$.ajax({
url:'example.php',
type:'GET',
dataType:'json',
success:function(data){
//這個(gè)data就是返回的json??即example.php??輸出的??json????
比如example.php是這樣?php?echo?json_encode(array('id'=1));???
返回的json?就是?{"id":1}
}
});
一般使用php發(fā)送請(qǐng)求,獲取返回的數(shù)據(jù),進(jìn)行解析;
?php
$url="接口地址";
//發(fā)送請(qǐng)求獲取返回值,file_get_contents只支持get請(qǐng)求,post使用curl
$json = file_get_contents($url);
//把json數(shù)據(jù)轉(zhuǎn)化成數(shù)組
$data = json_decode($json,true);
//打印看看
print_r($data);
?
輸入數(shù)據(jù)是有序的,仍舊是參數(shù)合適的hash表性能最佳,趨于O(1)的時(shí)間復(fù)雜度,avl-tree次之.排序數(shù)組查找復(fù)雜度也是log2(N),由于是有序數(shù)據(jù),在大小順序與字典順序一致時(shí),插入復(fù)雜度很低,而相反時(shí),插入復(fù)雜度很高,每次都要移動(dòng)幾乎整體的數(shù)據(jù).有序數(shù)據(jù)還導(dǎo)致非平衡的二叉查找樹的左右子樹嚴(yán)重失衡,查找復(fù)雜度趨于O(N),性能相當(dāng)?shù)?非排序數(shù)組仍舊是低效的!