鍍金池/ 問(wèn)答/ PHP問(wèn)答

JAVA 最大的優(yōu)勢(shì)是靠堆人能解決問(wèn)題,這對(duì)企業(yè)是非常重要的。1. 大規(guī)模協(xié)作成為可能。2. 市場(chǎng)上人員供應(yīng)穩(wěn)定。

瞄小懶 回答

使用JS-SDK可以獲取經(jīng)緯度

wx.getLocation({
 type: 'wgs84', // 默認(rèn)為wgs84的gps坐標(biāo),如果要返回直接給openLocation用的火星坐標(biāo),可傳入'gcj02'
success: function (res) {
    var latitude = res.latitude; // 緯度,浮點(diǎn)數(shù),范圍為90 ~ -90
    var longitude = res.longitude; // 經(jīng)度,浮點(diǎn)數(shù),范圍為180 ~ -180。
    var speed = res.speed; // 速度,以米/每秒計(jì)
    var accuracy = res.accuracy; // 位置精度
}

});

你好胸 回答

store.subscribe() 接收的參數(shù)是一個(gè)函數(shù),每次 state 改變的時(shí)候會(huì)執(zhí)行一次這個(gè)函數(shù)。而不是組件。

如果你要在 React 中使用 Redux,應(yīng)該使用 react-redux,詳情請(qǐng)閱讀 Redux 官方文檔或者它的中文翻譯版

維他命 回答

我們公司是測(cè)試站拉取正式站代碼,后面的維護(hù)就是,一個(gè)功能新建一個(gè)分支,在分支上寫(xiě)完后,把分支合并到測(cè)試站,測(cè)試沒(méi)問(wèn)題了,再把功能分支合并到正式站,同時(shí)把這個(gè)功能分支刪掉。時(shí)間長(zhǎng)了,可能會(huì)導(dǎo)致測(cè)試站和正式站差別太大,會(huì)同步一下。

短嘆 回答

更新答案,看過(guò)代碼,發(fā)現(xiàn)send方法在while循環(huán)外,請(qǐng)將send方法移到while循環(huán)體中。
同時(shí),每次在while循環(huán)前,添加一句$mail->ClearAllRecipients()移除之前的收件人。

      while ($row = mysqli_fetch_array($emailFind)) {
        $mail->ClearAllRecipients();
        $mail->Subject = '嗨! '.$row['name'].'!';
        $mail->Body = '<a href="'.$host_url.'products/'.$url.'" target="_blank">'.$host_url.'products/'.$url.'</a>';
        $mail->AddBCC($row['email']);
        
        if(!$mail->Send()) {
            echo 'error';
        }
      }
心上人 回答

thinkphp 查詢(xún)寫(xiě)法
$where['g.preic'] = array('between','10,20');
$where['ge.level'] = 60;
$where['ge.money'] = 1000;
M('goods')
->alias('g')
->join('left join goods_ext ge on ge.goods_id = g.goods_id')
->where($where)
->select();

傲寒 回答

你這個(gè)錯(cuò)誤明顯是連接國(guó)外的服務(wù)器超時(shí)導(dǎo)致的。

安裝 homestead 建議使用本地安裝的方式,先把 homestead 的 virtualbox 下載到本地,baidu 上搜索下應(yīng)該蠻多系列文章了。

離人歸 回答

MySQL的information_schema庫(kù)中有個(gè)COLUMNS表,里面記錄了mysql所有庫(kù)中所有表的字段信息。所以直接根據(jù)這個(gè)表的信息查各個(gè)表有沒(méi)有json這個(gè)字段,然后創(chuàng)建即可。

IF NOT EXISTS( SELECT NULL
            FROM INFORMATION_SCHEMA.COLUMNS
           WHERE table_name = 'tablename'
             AND table_schema = 'db_name'
             AND column_name = 'json')  THEN
  ALTER TABLE `TableName` ADD `json` VARCHAR(255) NOT NULL;
END IF;
薄荷綠 回答

你上面的數(shù)組是一個(gè)包含數(shù)組下包含數(shù)組再包含數(shù)組,等于是二級(jí)不包含根
類(lèi)似

[
    [x => [xxx]],
    [x => [xxx]],
    [x => [xxx]]
]

如果是你想去除x當(dāng)key那么代碼是:

$databaseImg= [];
foreach ($row as $key => $item)
{
    foreach ($item as $k => $v)
    {
        if ($v) {
            $databaseImg[$k][]= $v[0];
        }
        //如果$v是多記錄的話(huà)
        //foreach ($v as $vv) {
        //    $databaseImg[$k][]= $vv;
        //}
    }
}
裸橙 回答

php數(shù)組下標(biāo)并不是與其他語(yǔ)言(C, Java)的下標(biāo)等同. php數(shù)組的下標(biāo)是類(lèi)似Java Map里的鍵值.
即php array是key->value構(gòu)成的鍵值對(duì).

相應(yīng)的php也有很多處理函數(shù)分別是針對(duì)key和value的, 比如ksort是按鍵值排序, sort是按value排序.

如果你想按順序輸出,可以用如下代碼

<?php

$arr[2] = 2;
$arr[3] = 3;
$arr[0] = 0;
$arr[1] = 1;
print_r($arr);

ksort($arr);

print_r($arr);


$arr = [0, 1, 2, 3];

print_r($arr);

你會(huì)發(fā)現(xiàn)輸出便一致了.

php這樣設(shè)計(jì)有很多好處.
如:

$arr[2] = 20;
$arr[3] = 3;
$arr[100000000] = 0;
$arr[1] = 1;
print_r($arr);

上面的代碼如果是連續(xù)下標(biāo)地方式分配內(nèi)存的話(huà),非常浪費(fèi)且難以實(shí)現(xiàn), 但如果是鍵值對(duì)的話(huà)便很容易.

胭脂淚 回答
  1. 直接用ftp軟件連接看一下使用是ftp協(xié)議還是sftp協(xié)議,如果使用sftp協(xié)議連接成功,就不能使用ftp_connect函數(shù)。
  2. 檢查phpinfo中是否已經(jīng)安裝ftp擴(kuò)展
  3. 要使用ftp必須先在服務(wù)器上搭建ftp服務(wù),使用tp_connect函數(shù)檢查參數(shù)是否正確
  4. 下面給你一段測(cè)試代碼
<?php
// 建立基礎(chǔ)連接
$conn_id = ftp_connect('116.196.116.31');
var_dump($conn_id);

?>
綰青絲 回答

PHP腳本從上往下執(zhí)行依次執(zhí)行

$GLOBALS['result'] 首先未定義,然后第一個(gè)<?php ?>你肯定無(wú)法輸出的你下面的結(jié)果的

你可以把結(jié)果通過(guò)GET方式傳遞或POST傳遞, $_SESSION是肯定可以獲取的到的, 不過(guò)你得先session_start();

陪她鬧 回答

不太懂你的到底要干嘛 是隨機(jī)取該范圍內(nèi)的一個(gè)位置 還是什么 最近也正好在做這方面 可以探討下

澐染 回答

問(wèn)題已解決,原因是 我引的一個(gè)css 文件里面,設(shè)置了頭部 display:none 。

PHP本身就提供了一些庫(kù)來(lái)操作XML,手冊(cè):
http://www.php.net/manual/zh/...

  • DOMDocument

  • ML Expat Parser

  • SimpleXML

  • XMLReader

  • ...

參考一下文章例子
http://blog.csdn.net/aloneswo...

自己看看用什么方法來(lái)解析~


哪里解決不了?
比如這樣吧,遍歷層層解析:

<?php
header("Content-type:text/html; Charset=utf-8");

$content = "
<commpara>
  <itempara>
    <pararow>
      <retcode>0</retcode>
      <retstr>成功</retstr>
    </pararow>
  </itempara>
</commpara>
";

// $xml = simplexml_load_file("test.xml");
$xml = simplexml_load_string($content);

echo '第一層:' . $xml->getName() . "<br />";

foreach($xml->children() as $child){
    echo '第二層:' . $child->getName(). "<br />";

    foreach($child->children() as $subChild){
        echo '第三層:' . $subChild->getName() . "<br />";

        foreach($subChild->children() as $item){
            echo $item->getName() . ": " . $item . "<br />";
        }
    }
}

輸出:

第一層:commpara
第二層:itempara
第三層:pararow
retcode: 0
retstr: 成功

更簡(jiǎn)單粗暴的XML轉(zhuǎn)數(shù)組,這樣子:

$content = "
<commpara>
  <itempara>
    <pararow>
      <retcode>0</retcode>
      <retstr>成功</retstr>
    </pararow>
  </itempara>
</commpara>
";

$xml = simplexml_load_string($content);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
print_r($array);

輸出,直接就是個(gè)數(shù)組:

Array
(
    [itempara] => Array
        (
            [pararow] => Array
                (
                    [retcode] => 0
                    [retstr] => 成功
                )

        )

)
冷眸 回答

看文檔的,說(shuō)多不用
http://php.net/manual/zh/lang...

笨笨噠 回答

說(shuō)一下算法思路吧, 以下python偽代碼
訂單數(shù)組 A (A0, A1...An) n個(gè), 優(yōu)惠券數(shù)組 B (B0,B1...Bm), 其中B0 (金額、類(lèi)型),類(lèi)型:A0~An或c0~ck指定供應(yīng)商或M全場(chǎng)通用。

#用一個(gè)hashmap存下來(lái)類(lèi)型數(shù)組, 并用排序
d = {}
for i in B:
    if i[1] in d:
        bisect.insort(d[i[1]], i[0]) #二分法有序插入金額
    else:
        d[i[1]] = [i[0]] # 金額數(shù)組
#時(shí)間復(fù)雜度O(mlogk) (k<=m)
#懶得用A的優(yōu)惠券數(shù)組了,A也用hashmap,第一遍給所有的商品分配最高的商品優(yōu)惠券
a = {} #key商品名,value優(yōu)惠券價(jià)格
for i in A:
    if i in d:
        a[i] = d[i][0] #最高優(yōu)惠券
        d[i].pop(0)
    else:
        a[i] = 0 #沒(méi)有商品優(yōu)惠券0
#時(shí)間復(fù)雜度O(n)
#第二遍分組從低到高給所有的商品分配最高的供應(yīng)商優(yōu)惠券
#供應(yīng)商字典C (C0,...Ck) 其中C0的value 是(A0,..At)
for c in C:
    r = sorted([(a[i], i) for i in C[c]], lambda x: x[0]) # 根據(jù)價(jià)格排序,同組價(jià)格低的排最前面
    if not r:
        continue #沒(méi)有這個(gè)組不用計(jì)算啦
    rindex = 0
    while d[c]: #還有供應(yīng)商優(yōu)惠券
        if d[c][0] <= r[rindex][0]:
            break #比商品優(yōu)惠券低,不要算啦
        a[r[rindex][1]] = d[c][0] #低的商品優(yōu)惠券不要啦,給高的供應(yīng)商優(yōu)惠券
        rindex += 1
        d[c].pop(0)
#時(shí)間復(fù)雜度O(k.tlogt)
#最后給全場(chǎng)優(yōu)惠券啦
r = sorted([(a[i], i) for i in a], lambda x: x[0])# 根據(jù)價(jià)格排序,價(jià)格低的排最前面
rindex = 0
while d['M']: # 有全場(chǎng)通用券
    if d['M'][0] <= r[rindex][0]:
        break #全場(chǎng)通用券太低啦,不要算啦
    a[r[rindex][1]] = d['M'][0] #低的優(yōu)惠券不要啦,給高的全場(chǎng)通用券
    rindex += 1
    d['M'].pop(0)
    
print(a) #最后的結(jié)果啦
#時(shí)間復(fù)雜度O(nlogn)

#總得時(shí)間復(fù)雜度取決于t、n、m的大小啦