Time of Update: 2016-11-30
瞭解一下 RedisRedis 是一個開源、支援網路、基於記憶體、索引值對的 Key-Value 資料庫,使用 ANSI C 編寫,並提供多種語言的 API ,它幾乎沒有上手難度,只需要幾分鐘我們就能完成安裝工作,並讓它開始與應用程式順暢協作。換句話來說,只需投入一小部分時間與精力,大家就能獲得立竿見影且效果極佳的效能表現提升,就是說它是一個非常簡單緩衝解決方案。它支援儲存的 Value 類型不僅限於字串,支援主從同步,資料持久化等等,大家都認為 Redis 是最流行的 Key-Value
Time of Update: 2016-11-30
方法1 複製代碼 代碼如下: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://192.168.1.135/turntable/get_jump.php"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $array); curl_exec($ch); curl_close($ch); 方法2 複製代碼
Time of Update: 2016-11-30
一,判斷全是中文 代碼如下: $str="'324是"; if(!eregi("[^\x80-\xff]","$str")){ echo "全是中文"; }else{ echo "不是"; } 二,判斷含有中文 代碼如下: $str = "中文"; if (preg_match("/[\x7f-\xff]/", $str)) { echo
Time of Update: 2016-11-30
這篇文章的亮點是,正則式更加複雜鳥,?(-_-)?,再就是 Copy 函數的灰常強大的一個用法。 > 話說剛才聽 NsYta 說小邪的主題太白了,杯具。最近太忙,沒有空,不然就自己搞一個新主題。 一. 抓取 CSS 中的圖片: > 1. 首先做好準備工作: > 第一步,先把 CSS 原本的路徑存到 $url 變數裡,然後把 CSS 的內容儲存在 abc.css 中。 > 因為考慮到經常碰到多個 CSS 檔案的狀況,所以小邪沒有直接填一個 CSS 路徑。 >
Time of Update: 2016-11-30
代碼如下: //判斷遠程檔案 function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回資料 curl_setopt($curl, CURLOPT_NOBODY, true); // 發送請求 $result = curl_exec($curl); $found = false; // 如果請求沒有發送失敗 if ($result !== false) { // 再檢查http響應碼是否為200
Time of Update: 2016-11-30
數組求和 給定一個含有n個元素的整型數組a,求a中所有元素的和。可能您會覺得很簡單,是的,的確簡單,但是為什麼還要說呢,原因有二,第一,這道題要求用遞迴法,只用一行代碼。第二,這是我人生中第一次面試時候遇到的題,意義特殊。 簡單說一下,兩種情況: 如果數組元素個數為0,那麼和為0。 如果數組元素個數為n,那麼先求出前n - 1個元素之和,再加上a[n - 1]即可。 複製代碼 代碼如下: // 數組求和 int sum(int *a, int n) { return n == 0 ? 0 :
Time of Update: 2016-11-30
昨天和一個前同事聊天,各種吐槽PHP,吐槽Swoole,他認為PHP到處是坑,PHP局限很大。PHP+Swoole不適合做高並發伺服器,C+Swoole才是最好的方案。C++有各種資料結構,C++可以開線程,C++可以共用對象。看來有必要好好得說明一下了。HP比C/C++或Java少了什嗎?多線程,多線程,多線程……是的。PHP比C/C++、Java少了多線程。PHP只有多進程的方案,所以PHP裡的全域變數和對象不是共用的、資料結構也不能跨進程操作、Socket檔案描述符不能共用等等。所以PHP
Time of Update: 2016-11-30
//--------------------//基本資料結構//--------------------//二分尋找(數組裡尋找某個元素)functionbin_sch($array,$low,$high,$k){if($low<=$high){$mid=intval(($low+$high)/2);if($array[$mid]==$k){return$mid;}elseif($k<$array[$mid]){returnbin_sch($array,$low,$mid-1,$k)
Time of Update: 2016-11-30
如微博 這看起來更加人性化,好吧,上代碼 代碼如下: <?php class timeAgo { static $timeagoObject; private $rustle; private $unit; private function __construct() { } private function __clone(){ } public static function getObject() { if(! (self::$timeagoObject instanceof
Time of Update: 2016-12-01
回複內容:第一次遇到這種問題。有點好奇,題主是怎麼發現這個問題的?我說下我的理解。首先我們要明確一下“賦值”這個概念。當 $a = 1; 的時候,並不是說添加一個名字是 $a 值是 1 的資料。當 $b = &$a; 的時候,也不是說把 $b 指向 $a 或者相反 。這個過程形象點說是這樣:$a = 1;多讀讀php手冊,非常多例子PHP: 變數範圍PHP: 引用的解釋PHP: 引用傳遞PHP: 引用做什麼變數範圍 變數的範圍即它定義的上下文背景(也就是它的生效範圍)。大部分的
Time of Update: 2016-12-01
最近進入了一家比較小的創業公司,老闆是個不懂技術的人,然後我們兩個技術就按照老闆的需求完成項目,項目做了一半,老闆就過來看看進度,開始責問我們為何這麼簡單的東西要做這麼久,才開始了兩個星期二,就我一個後端和一個前端,要輔助整個系統的需求、架構和設計。考慮了後期很多東西,包括前端用webpack、jq,vue.js,js。後端就選用php、laravel架構,用composer管理組件盡量少造輪子例如overtrue的easywechat等等,盡量縮短開發時間,進度可以跟進git版本控制器。但是開
Time of Update: 2016-11-30
代碼如下: <?php /* * 流程式控制制 * * 一、順序結構 * 二、分支結構--條件結構--選擇結構 * 1.單路分支 * //條件bool,true或false,> < == !- & || ! * if(條件) * 執行下面一條語句 * if(條件) * { * 程式碼片段; * 程式碼片段; * } * * 2.雙路分支 * 使用else從句 * * if(條件) * 執行一條語句 * else * 執行一條語句 * if(條件){ * 一條或多條代碼
Time of Update: 2016-12-01
補充下背景,題主大學畢業一年。在一家小網路公司謀得一份穩定,但是技術含量不高的差事。因工作需要接觸學習PHP(之前大學勉強接觸了點C語言)。剛開始學習時感覺很有成就感,學習提高迅速。但是當學完物件導向,然後又發現學習PHP還要學js, jQuery, Ajax. smarty,think PHP. HTML. css. MySQL.等等等等……,最近感覺進步超級慢,信心受挫。回複內容:謝邀 !實名反對高票回答!並不是否定Elvic Liang的回答內容的正確性。我也知道編程就是演算法+資料結構。
Time of Update: 2016-11-30
我們時常會聽到團隊成員說:“這個項目搞代碼審查簡直是在浪費時間。”“我沒時間做代碼審查。”“發布會延遲,是因為我那個卑鄙的同事還沒有審查過My Code。”“你能相信我的同事居然要求我改My
Time of Update: 2016-12-01
業務情境:從api介面擷取資料,插入到資料庫中,這個過程大概幾個小時,我想用多線程技術來改造,但不知如何下手。其他方式也行。補充一句:對php未來方向不明,java有很多重量級東西,如hadoop,spark,storm等等,php何去何從?回複內容:其實,你這裡真是的需求,只是希望在Web這邊擷取一種方式,來執行一個長達數小時的“非同步”任務。就PHP而言,可以用2種方式來做:(1)在PHP裡使用shell_exec的函數,以shell的方式,啟動一個獨立的PHP指令碼執行。這種方式,其實相當
Time of Update: 2016-11-30
代碼如下: /*資料類型之間相互轉換 * 一種是強制轉換 * setType(變數,類型); //int,integer,float,double等等。 * 這個函數將原變數的類型改變,用var_dump();可以查看變數 * * 在賦值前使用(類型)的形式,不會改變原變數的類型 * $a=(int)"123abc"; * * $變數=intval(變數或值); * $變數=floatval(變數或值); * $變數=stringval(變數或值); * *
Time of Update: 2016-12-01
回複內容:其實單例模式,說白了就是說一個類只能執行個體化一次。但是我們如何在這個執行個體化一次上面做文章呢。其實有個突破口就是__construct()這個魔術方法。這個方法就代表著如果類執行個體化的時候,就會自動執行這個方法。然後如果我把這個方法變成保護或者私人的,會是什麼效果呢。static function getInstance($class, $param = array()){ if (!isset($obj[$class])) { $obj[$class] =
Time of Update: 2016-11-30
複製代碼 代碼如下: <?php defined('SYSPATH') OR die('No direct access allowed.'); class Controller_Jobs extends Controller_Base{ public function before(){ parent::before(); if(Request::$protocol != "cli"){ die("Only cli
Time of Update: 2016-11-30
我們知道在AJAX的open方法中第一個參數代表傳遞方式,根據很多資料所寫可以使用GET,POST,HEAD及其他任何伺服器所支援的傳遞方式進對變數進行傳遞。但是對於POST及GET實際上的區別在哪裡,在實際編碼過程中應該如何?呢?(註:對於傳遞方式大家可參見RFC2068部分規定及說明)在AJAX中send方法大家都知道,在一般情況下都是傳遞null值,但是在post方式下,send()方法中則傳遞的是參數。對於POST中可以使用資料儲存資料,而對於GET方式時必須保證參數的唯一(好像是吧??
Time of Update: 2016-11-30
這貨是從 Martin 大神的《公司專屬應用程式架構模式》中學到的,輔助 PHP 動態語言的特性,可以比 Java 輕鬆很多的實現消極式載入(LazyLoad)。基本原理是通過一個虛代理(Virtual Proxy)做預留位置,一旦訪問代理對象的某成員(方法或屬性),載入就被觸發。 不過我實現的這個版本有局限性: 只適用於對象,無法代理數組等基礎資料型別 (Elementary Data Type)(需要用 ArrayObject 一類的內建對象封裝)