鍍金池/ 問答/ PHP問答
醉淸風 回答

$client->__getFunctions (); //獲取接口上能用的方法
$client->__getTypes(); //獲取方法的鍵名 非常重要
用這2個方法看看接口那邊要的參數格式和鍵名是啥,soap的接口很奇怪的

扯不斷 回答

演示程序地址-三十客

$(document).ready(function () {
    var $texta = $('#my-textarea');
    var lastWidth = localStorage.getItem("my-area-width");
    var lastHeight = localStorage.getItem("my-area-height");
    if(lastWidth && lastHeight) {
        $texta.css("width",lastWidth+"px");
        $texta.css("height",lastHeight+"px");
    }
    $texta.data('x', $texta.outerWidth());
    $texta.data('y', $texta.outerHeight());
    $texta.mouseup(function () {
        var $this = $(this);
        var width = $this.outerWidth();
        var height = $this.outerHeight();
        if (width != $this.data('x') || height != $this.data('y')) {
            alert(width + ' - ' + $this.data('x') + '\n' + height + ' - ' + $this.data('y'));
            localStorage.setItem("my-area-width",width);
            localStorage.setItem("my-area-height",height);
        }
        $this.data('x', width);
        $this.data('y', height);
    });
});
怣人 回答

如果很多網站都有這個現象,那估計是你chrome的某個插件導致的,插件是可以注入js代碼的,所以有可能在你打開的每個網站上都做一些操作,你可以挨個禁用chrome插件看看是哪個插件導致的。

久舊酒 回答

可以唄,你做好API接口就行了,然后把結果拼起來就好了

影魅 回答

http自定義header主要是為了安全考慮,可以把一些token認證信息放在header請求頭里,模擬真實用戶。
使用場景:
1、api的授權認證
2、爬蟲偽造header頭信息
3、跨域設置

九年囚 回答

當你決定使用存儲過程的時候,那么整個事務是在MYSQL端完成的。

對于事務競爭優(yōu)化的主要一點就是減少事務鎖時間。

你選擇了使用存儲過程就可以不用再代碼中開啟事務,深度優(yōu)化即將事務SQL在MYSQL端執(zhí)行(存儲過程)

以下是類似的秒殺事務落地的存儲過程

-- 秒殺執(zhí)行存儲過程
DELIMITER $$ -- ; 轉換為 $$
-- 定義存儲過程 in 輸入參數   out 輸出參數
-- ROW_COUNT 返回上一條修改類型sql(delete、insert、update)的影響函數
-- row_count 0 未修改數據 >0修改的函數 <0 SQL錯誤、未執(zhí)行修改sql
CREATE PROCEDURE `seckill`.`execute_seckill`
  (in v_seckill_id bigint,in v_phone bigint,
    in v_kill_time TIMESTAMP ,out r_result int)
  BEGIN
    DECLARE insert_count int DEFAULT 0;
    START TRANSACTION ;
    insert ignore into success_killed
      (seckill_id,user_phone,create_time)
      VALUES (v_seckill_id,v_phone,v_kill_time)
    select ROW_COUNT() into insert_count;
    if (insert_count = 0) THEN
      ROLLBACK;
      set r_result = -1;
    ElSEIF(insert_count < 0) THEN
      ROLLBACK;
      set r_result = -2;
    ELSE
      UPDATE seckill
      set number = number - 1
      where seckill_id = v_seckill_id
        and end_time > v_kill_time
        and start_time < v_kill_time
        and number > 0;
        SELECT row_count() into insert_count;
        if (insert_count = 0) THEN
          ROLLBACK;
          set r_result = 0;
        ElSEIF(insert_count < 0) THEN
          ROLLBACK;
          set r_result = -2;
        ELSE
          COMMIT;
          SET r_result = 1;
        END if;
    END if;
  END;
$$
-- 存儲過程定義結束

DELIMITER ;

set @r_result=-3;
-- 執(zhí)行存儲過程
call execute_seckill(1003,18820116735,now(),@r_result);

-- 獲取結果
select @r_result;

這屬于并發(fā)優(yōu)化的階段了,不要過度依賴存儲過程,其一般用于簡單的邏輯

青瓷 回答

bind對象進去就行了
setInterval(test.all.bind(test),1000);

假灑脫 回答

1、修改下提問的排版吧
2、你可以通過頁面 看一下提交的方式,如果是$name[]的方式 你在后端獲取的時候肯定是數組的形式,如果想要一個個的話,那就設置n多個name吧

鐧簞噯 回答

你說的掛掉是一個請求失敗還是整個進程死了?
如果一個一個請求失敗的話. 檢查是不是程序有使用長連接. redis. mysql 之類的. 有可能是連接空閑時間過長. 被斷開了.

你好胸 回答

試試這個修改過的

<?php

function get_weekend_days($start_date, $end_date, $weekend_days=1) {

$data = array();

$start_reduce = $end_add = 0;
$start_N      = date('N',strtotime($start_date));


$end_N = date('N',strtotime($end_date));

// 進行單、雙休判斷,默認按單休計算
$weekend_days = intval($weekend_days);
switch ($weekend_days)
{
    case 2:
        in_array($end_N,array(6,7)) && $end_add = ($end_N == 7) ? 2 : 1;
        $start_reduce = ($start_N == 7) ? 1 : 0;
        break;
    case 1:
    default:
        $end_add = ($end_N == 7) ? 1 : 0;
        break;
}

$days = ((strtotime($end_date) - strtotime($start_date))/86400) + 1;
$data['total_days'] = $days;
$data['total_relax'] = floor(($days + $start_N - 1 - $end_N) / 7) * $weekend_days - $start_reduce + $end_add;

return $data;
}

echo "Two days per week\n";
var_dump( get_weekend_days("2018-03-31","2018-04-08",2));
var_dump( get_weekend_days("2018-04-01","2018-04-08",2));
var_dump( get_weekend_days("2018-04-02","2018-04-08",2));
var_dump( get_weekend_days("2018-04-07","2018-04-08",2));
var_dump( get_weekend_days("2018-04-08","2018-04-08",2));
echo "One day per week\n";
var_dump( get_weekend_days("2018-03-31","2018-04-08",1));
var_dump( get_weekend_days("2018-04-01","2018-04-08",1));
var_dump( get_weekend_days("2018-04-02","2018-04-08",1));
var_dump( get_weekend_days("2018-04-07","2018-04-08",1));
var_dump( get_weekend_days("2018-04-08","2018-04-08",1));
網妓 回答

單頁面可以出來,你把路由的設置貼出來,看一下

法克魷 回答
<?php 
/**
 * 分配函數
 *
 * @author Flc  <2017-12-07 22:14:12>
 * @link   http://flc.ren
 * @param  array  $couriers 快遞員
 * @param  array  $packages 包裹
 * @return array            key為快遞員;值為包裹
 */
function dist($couriers = [], $packages = [])
{
    $couriers      = array_values($couriers);
    $packages      = array_values($packages);
    $courier_count = count($couriers);

    $result = [];

    foreach ($packages as $key => $package) {
        $remainder = ($key + 1) % $courier_count;

        $sub = ($remainder ?: $courier_count) - 1;
            
        $result[$couriers[$sub]][] = $package;
    }

    return $result;
}

$arr1 = ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7'];
$arr2 = ['b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'b10'];

print_r(dist($arr1, $arr2));

結果如下:

Array
(
    [p1] => Array
        (
            [0] => b1
            [1] => b8
        )

    [p2] => Array
        (
            [0] => b2
            [1] => b9
        )

    [p3] => Array
        (
            [0] => b3
            [1] => b10
        )

    [p4] => Array
        (
            [0] => b4
        )

    [p5] => Array
        (
            [0] => b5
        )

    [p6] => Array
        (
            [0] => b6
        )

    [p7] => Array
        (
            [0] => b7
        )

)
蟲児飛 回答

1、請求異步加載,限制并發(fā)請求數量,別一次發(fā)送多個請求,就算是多個,記住一定要異步
2、圖片的路徑添加通過文檔加載完畢后在js中添加圖片路徑,因為頁面加載時遇到img標簽會去加載圖片,圖片較大的話加載時間就長,可以全文先用一張圖片先占位,最后再通過js更改圖片路徑
3、使用CDN,特別是大圖片就更需要CDN了,不然請求很慢

默念 回答

PHP7.1以上才支持強制類型,要么更新PHP版本,要么改動這個庫了

笨笨噠 回答

1.explode第三個參數可以指定切割數量, 達到數量后后續(xù)的就不再切割了

$s= 'aaa 2018-02-24 08:38:37';
print_r(explode(' ', $s, 2));

2.insert into xx(id) values (1),(2),(3)就可以一次性插入3條,比執(zhí)行3條sql性能好很多,但要注意不能拼一條很長的sql,會超過max_allowed_packet

玩控 回答

你服務器上面有沒有安裝crul擴展?

眼雜 回答

你搜 css pagebreak 。這個 css 屬性可以讓打印機換頁的。

離夢 回答

$this->info這個數組對象已經定義了么

trace這個模型的namespace沒問題么