鍍金池/ 問答/ PHP問答
玄鳥 回答
$arr = [
    [
        "attr_id": "11",
        "attr_price": "29.8",
        "attr_value": "藍(lán)色",
        "goods_attr_id": "31",
        "goods_id": "10"
    ],
    [
        "attr_id": "8",
        "attr_price": "29.8",
        "attr_value": "60CM",
        "goods_attr_id": "29",
        "goods_id": "10"
    ],
    [
        "attr_id": "8",
        "attr_price": "29.8",
        "attr_value": "70CM",
        "goods_attr_id": "30",
        "goods_id": "10"
    ],
    [
        "attr_id": "11",
        "attr_price": "29.8",
        "attr_value": "黑色",
        "goods_attr_id": "28",
        "goods_id": "10"
    ]
]

$arr1 = [];
foreach ($arr as $k => $v) {
    $arr1[$v[attr_id]][] = $v;
}

// 輸出
$arr1 = [
    '8' => [
        [
            "attr_id": "8",
            "attr_price": "29.8",
            "attr_value": "70CM",
            "goods_attr_id": "30",
            "goods_id": "10"
        ],
        [
            "attr_id": "8",
            "attr_price": "29.8",
            "attr_value": "60CM",
            "goods_attr_id": "30",
            "goods_id": "10"
        ],
    ],
    '11' => [
        [
            "attr_id": "11",
            "attr_price": "29.8",
            "attr_value": "藍(lán)色",
            "goods_attr_id": "31",
            "goods_id": "10"
        ],
        [
            "attr_id": "11",
            "attr_price": "29.8",
            "attr_value": "黑色",
            "goods_attr_id": "28",
            "goods_id": "10"
        ],
    ],
]
還吻 回答

thinkphp是基于http的,本身http自身是不提供客戶端和服務(wù)器間連接持續(xù)更新機(jī)制的,而且服務(wù)器端本身是不會主動向客戶端傳遞的,所有的訪問只能是服務(wù)器端響應(yīng)客戶端的請求。
所以實(shí)質(zhì)是客戶端要主動持續(xù)的進(jìn)行請求
workerman是PHP socket 服務(wù)框架,而socket是可以面向連接的
要結(jié)合,想必客戶端要轉(zhuǎn)換為應(yīng)用socket連接,而不是http連接,此外thinkphp要專為socket。

怣人 回答

select title, count(user_id) total from a left join b on a.id=b.aid group by(b.aid) order by total DESC

b表有沒有數(shù)據(jù)不影響

clipboard.png

拮據(jù) 回答

URL就放你服務(wù)器上傳服務(wù)的URL啊。

糖果果 回答

1、時(shí)間檢索結(jié)果集小的話就一個start_time單列索引就夠了,force一下索引,因?yàn)間roup by會引導(dǎo)mysql走group by字段的索引或者直接全掃。
2、看表名,你這應(yīng)該是一個分表,如果時(shí)間范圍直接覆蓋了大部分表數(shù)據(jù)的話什么索引都不用了,全表掃吧,什么三個字段兩個字段加索引并沒有什么用,時(shí)間范圍加group by字段的復(fù)合索引也只用到了時(shí)間字段,只有g(shù)roup by字段的索引就是掃了全表,除非用索引覆蓋

亮瞎她 回答
/[^a-z](?=[a-z])/

使用零寬斷言
涼薄 回答

PHP遞增遞減運(yùn)算符

$level = 1;
$a     = $level++; //返回的是1,但$level本身已經(jīng)+1
var_dump($a);
$b     = ++$level;//返回的是3,$level也+1
var_dump($b);

先++,返回的是加之后的值
后++,返回的是本身的值

尐懶貓 回答

查看日志,為什么超時(shí)。
添加一個監(jiān)聽任務(wù)失敗的方法,執(zhí)行處理就好了

我暫時(shí)用的也是swoole_table,不然就是用redis或者別的外置的存儲

呆萌傻 回答

gethostbyaddr — 獲取指定的IP地址對應(yīng)的主機(jī)名

蝶戀花 回答

或者有沒有大佬知道生成signature參數(shù)當(dāng)中的url能不能加參數(shù)的

涼汐 回答

技術(shù)棧
php exec/shell
Liboffice 轉(zhuǎn)換office文件pdf
Firefox的開源項(xiàng)目pdf.js

我安裝php-redisd的步驟參考(編譯安裝)

你可以參考參考,我的是ubuntu的命令,你改為對應(yīng)的centos的就行了

陌南塵 回答

你把你的帶寬監(jiān)控圖也發(fā)出來看下啊。。是不是貸款跑滿了。。

赱丅呿 回答

稍優(yōu)化了一點(diǎn),按你的算法,有n個元素的數(shù)組,要循環(huán)

n * n * in_array里的次數(shù),in_array內(nèi)部也是循環(huán)
var arr = [1, 2, 5, 6, 7];//如果這個數(shù)組不是有序數(shù)組,哪還要先加排序
var len =arr.length

let result=[]
let count=0

for(let a=0;a<len;a++){
let max = arr.pop()
let newlen = arr.length
for(let i=0;i<newlen-1;i++){
   if(arr[i]+arr[i+1]> max){
    break;
  }
  for(let j=i;j<newlen-1;j++){
    let plus = arr[i]+arr[j+1]
    count++
    if(plus>max){
      break;
    }
    if(plus==max){
      result.push([max,arr[i],arr[j+1]])
    }
  }
}
}
console.log(result)//輸出結(jié)果
console.log(count)//輸出總循環(huán)次數(shù),

回復(fù)里說的好,我沒有考慮負(fù)數(shù)的情況,如果要考慮負(fù)數(shù),哪把最大數(shù)pop出來,就不行了,只能重新維護(hù)一條新數(shù)組,用來枚舉所有值,修改如下

var arr = [-8, -1, 1, 2, 5, 6, 7];//如果這個數(shù)組不是有序數(shù)組,哪還要先加排序
var len =arr.length
var arr1 = [...arr] //復(fù)制一條新數(shù)組
let result=[]
let count=0

for(let a=0;a<len;a++){
let max = arr1.pop()// 從新數(shù)組中枚舉各個值。
let newlen = arr.length
for(let i=0;i<newlen-1;i++){
   if(arr[i]+arr[i+1]> max){
    break;
  }
  for(let j=i;j<newlen-1;j++){
    let plus = arr[i]+arr[j+1]
    count++
    if(plus>max){
      break;
    }
    if(plus==max){
      result.push([max,arr[i],arr[j+1]])
    }
  }
}
}
console.log(result)//輸出結(jié)果
console.log(count)//輸出總循環(huán)次數(shù),
輸出
[[7, 1, 6], [7, 2, 5], [6, -1, 7], [6, 1, 5], [5, -1, 6], [1, -1, 2], [-1, -8, 7]]

你這需求可以通過路由和中間件解決。比如用戶訪問/order/add需要收費(fèi),但是訪問order/list是免費(fèi)的,那么可以這樣配置:

Route::group('middleware' => ['auth.needPay']], function () {
    Route::get('order/add', ['uses' => 'Order@add']);
});
Route::group('middleware' => ['auth.free']], function () {
    Route::get('order/list', ['uses' => 'Order@list']);
});

中間件怎么添加,可以參照文檔

不討喜 回答

先查看在chrome下是否被當(dāng)成廣告了

祉小皓 回答

對不起,php沒有這樣的內(nèi)置函數(shù)

情已空 回答
$fractionRegularPattern = "/^\d+\.\d+/$";//第一個:正實(shí)數(shù)小數(shù)
$currencyRegularPattern = "/^((\d{1,3})|(\d{1,3},)?((\d{3},)*\d{3}))\.\d+$/";//第二個,貨幣