鍍金池/ 問答/ PHP問答
陌顏 回答

4000次的循環(huán)本身并不大,如果循環(huán)里僅僅是對內(nèi)存的操作其實(shí)很快就應(yīng)該完成,但是你在循環(huán)里做了很多次數(shù)據(jù)庫操作,這應(yīng)該就是造成性能問題的根本原因。盡管每條sql執(zhí)行都很快,但是你忽略了每次執(zhí)行所帶來的網(wǎng)絡(luò)io開銷時間。我才想4000次的循環(huán)里如此多的數(shù)據(jù)庫操作足以是你的腳本超時了,當(dāng)你所提到超時時,我認(rèn)為你的php運(yùn)行在fast cgi模式下。那么你有兩種方法來解決
1,將sql操作合并,一次或幾次在循環(huán)之外一口氣得到所有的數(shù)據(jù),再在循環(huán)中進(jìn)行分門別類。我相信這樣做會立竿見影的提升效率。
2, 如果這個操作不是及時性的,那么可以嘗試放在cli模式下運(yùn)行,你不用修改代碼,盡管效率同樣低,但cli模式下腳本不會超時。

另外如果你所獲得到數(shù)據(jù)總量很大,那么還要考慮php本身為腳本所分配的最大可用內(nèi)存,如果這個值低于你獲取的數(shù)據(jù)所需要的內(nèi)存,那么即便在cli模式腳本還是得崩。這個配置好像是在php.ini里一個叫max_memory_size定義的,名字可能不準(zhǔn)確,我記不太清了

巴扎嘿 回答

把你的change事件裝在一個函數(shù)里,先調(diào)用一次,在for動態(tài)添加后也就是$(".scene")后面調(diào)用一次這個函數(shù)

下墜 回答

php中變量是分配在執(zhí)行棧的尾部,執(zhí)行棧zend_execute_data,實(shí)際是一塊堆內(nèi)存,是個變長結(jié)構(gòu)體,由zval來存儲變量的值,變量名是存儲在symbol_table中,在unset時,并沒有進(jìn)行出棧操作,而是將變量名稱從全局符號表(函數(shù)中則為函數(shù)執(zhí)行棧的符號表)中刪除,并且將存儲其值的zval置為IS_UNDEF,函數(shù)中的臨時變量的內(nèi)存會在函數(shù)執(zhí)行結(jié)束時進(jìn)行釋放,全局變量則在整個程序執(zhí)行結(jié)束后進(jìn)行釋放

離魂曲 回答

PSR7里能修改的都給了對應(yīng)的接口withXXXX,作為庫的使用者是不需要clone的,例如guzzled的實(shí)現(xiàn)已經(jīng)幫你clone了,需要更新的屬性也給你更新了:

public function withUri(UriInterface $uri, $preserveHost = false)
{
    if ($uri === $this->uri) {
        return $this;
    }
    $new = clone $this;
    $new->uri = $uri;
    if (!$preserveHost) {
        $new->updateHostFromUri();
    }
    return $new;
}

你自己clone然后去直接改屬性(正常都是private,你也改不了)是不能保證不可變的,但是你只用withXXX這些方法,就可以保證不可變。

綰青絲 回答

用 scroll-into-view 屬性 就可以實(shí)現(xiàn)了

卟乖 回答

圖片描述

理了一下啊,首先是在這個頁面提交找回賬號密碼,
圖片描述

然后跳轉(zhuǎn)到j(luò)avasript的views函數(shù)
圖片描述

然后跳轉(zhuǎn)到SEMCMS_Remail.php的find方法
圖片描述

這里又跳轉(zhuǎn)到include/web_email.php的fintpassword方法
圖片描述

然后就到了一開始提問截圖的地方了,沒看到這些文件做了什么處理,只能理解是php本身做了什么處理,但我這個版本的php沒有magic_quotes啊

用echo是這樣的
圖片描述

陌上花 回答

Cannot read property 'categoryInfo' of indefined

就是說在你的res.body.data裏沒找到categoryInfo

心沉 回答

1.我感覺你是來黑php的,寫了8年代碼不可能對價(jià)格還沒什么了解
2.如果你是真心想問,可以去極客時間看看,左耳朵耗子的一些課程,不是打廣告

根據(jù)自己的理解回復(fù)(不對的地方請大家指出來,一起學(xué)習(xí)):

1.xdebug.remote_host 表示綁定客戶端 host,默認(rèn)為 localhost
2.PHPStorm 設(shè)置里面的 server 表示要監(jiān)聽的服務(wù),host 為要監(jiān)聽的主機(jī)地址,本機(jī)填寫 localhost 就可以
3.DBGp Proxy 代理配置,不用管
4.xdebug helper 非必要,laradock 環(huán)境下不用安裝也可以進(jìn)行 Xdebug 斷點(diǎn)調(diào)試

可以參考一下:https://segmentfault.com/a/11...

骨殘心 回答

C++來湊個熱鬧。

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>

template <class It>
std::vector<std::vector<int>> Solution(It first, It last) {
  std::vector<std::vector<int>> result;
  while (first != last) {
    auto ite = std::adjacent_find(first, last, [](int l, int r) {return l != r-1;});
    if (ite != last)
      ++ite;
    if (std::distance(first, ite) > 1)
      result.emplace_back(first, ite);
    first = ite;
  }
  return result;
}

int main() {
  std::vector<int> vtr = {1, 2, 3, 5, 1, 2, 1};

  for (const auto &result : Solution(vtr.begin(), vtr.end())) {
    std::copy(result.begin(), result.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
  }

  return 0;
}
舊言 回答

1.Laravel中的hasOne是一對一的關(guān)系, 如果一個用戶只能評論一條,可以這么使用。
2.先將用戶查出來,然后再調(diào)用User Models中的comments方法,示例如下:

public function test(){
User::find($id)->comments;
}

如果是一個用戶可以評論多條則需要使用hasMany或belongsTo
具體使用方法可以參考laravel china手冊關(guān)聯(lián)關(guān)系章節(jié):
https://d.laravel-china.org/d...

不討囍 回答

在需要使用其它賬號的地方,自己創(chuàng)建一個新的Swift_Mailer來發(fā)送郵件

// 備份原有Mailer
$backup = Mail::getSwiftMailer();

// 設(shè)置郵箱賬號
$transport = Swift_SmtpTransport::newInstance('smtp.qq.com', 25, 'tls');
$transport->setUsername('email_username');
$transport->setPassword('email_password');

$mailer = new Swift_Mailer($transport);

Mail::setSwiftMailer($mailer);

Mail::send();

// 發(fā)送后還原
Mail::setSwiftMailer($backup);
怣痛 回答

之前倒是用h5實(shí)現(xiàn)了一個仿微信聊天項(xiàng)目
https://shixian.com/consultants

不將就 回答

區(qū)分的兩條分支其一是:使用autoload_static進(jìn)行靜態(tài)初始化,二是調(diào)用核心類接口初始化。靜態(tài)初始化只支持PHP5.6以上版本并且不支持HHVM虛擬機(jī)。所以以php5.6且HHVM_VERSION是否存在作為區(qū)分。
參考自:https://laravel-china.org/art...

命多硬 回答

設(shè)置setting里, Editor->Colors, 你這個是HTML 的 tag, 就選擇html
圖片描述
圖片描述

悶騷型 回答

用docker容器啟數(shù)據(jù)庫服務(wù)的話,需要將數(shù)據(jù)庫的數(shù)據(jù)掛載到宿主機(jī)上,否則每次重啟容器都會導(dǎo)致數(shù)據(jù)丟失。
可以使用-v參數(shù)將mysql的數(shù)據(jù)目錄/var/lib/mysql掛載到宿主機(jī)的某個目錄下,就可以持久化數(shù)據(jù)。

紓惘 回答

:last-child

概述

:last-child CSS 偽類 代表父元素的最后一個子元素。

所以 li:last-child 指的是父元素里最后一個元素且為li的元素,而不是父元素里最后一個li元素

撿肥皂 回答

php入消息隊(duì)列
通過node或者go入消費(fèi)隊(duì)列推送