我覺(jué)得 雪之祈舞 的方法很好
不過(guò)對(duì)于你的代碼,為什么匹配不到,我想原因在這里:
if (strpos($content, trim($CotentArr[$i])) != false)
這句判斷有問(wèn)題,!= 應(yīng)該換成 !==
因?yàn)?code>strpos函數(shù)用于查找字符串,如果查找到了則返回字符串出現(xiàn)的位置,當(dāng) CotentArr[$i] 的值是 Players 時(shí),它在 $content 中出現(xiàn)的位置為0,經(jīng)過(guò) != 判斷不會(huì)出現(xiàn)你期待的結(jié)果(!= 類(lèi)型轉(zhuǎn)換,出現(xiàn)的位置為0,則為false)
題外話:
不建議你在 for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 中的 表達(dá)式2 中使用count函數(shù),因?yàn)檫@3個(gè)表達(dá)式執(zhí)行的順序是:表達(dá)式1 -> 表達(dá)式2 -> 表達(dá)式3 -> 表達(dá)式2 -> 表達(dá)式3 -> 表達(dá)式2.... 你使用的count函數(shù)會(huì)進(jìn)行多次計(jì)算數(shù)組中的元素個(gè)數(shù)...,當(dāng)然,PHP是很快的,你也可以不在乎
默認(rèn)你已經(jīng)會(huì)node和使用node操作數(shù)據(jù)庫(kù)的前提下,你需要看一下Nginx
其實(shí)主要是:@vue/cli-service 依賴(lài) webpack
最核心的是:https://github.com/vuejs/vue-...
"webpack": "^4.15.1",
jQuery與原生的事件基本上是一一對(duì)應(yīng)的。寫(xiě)法不一樣而已
偽代碼:
let $dom; //jQuery
let dom; //js
$dom.mouseenter(function(event){...});
dom.onmouseenter = function(event){...}<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
td.hide {
display: none
}
</style>
</head>
<body>
<table width="20%" border="1" cellspacing="0" cellpadding="0" id="tb">
<thead>
<tr>
<td>選項(xiàng)</td>
<td>id</td>
<td>性別</td>
<td>年齡</td>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox"/><span>1</span></td>
<td>1</td>
<td>男</td>
<td>18</td>
</tr>
<tr>
<td><input type="checkbox"/><span>1</span></td>
<td>1</td>
<td>男</td>
<td>28</td>
</tr>
<tr>
<td><input type="checkbox"/><span>2</span></td>
<td>2</td>
<td>男</td>
<td>20</td>
</tr>
<tr>
<td><input type="checkbox"/><span>3</span></td>
<td>3</td>
<td>女</td>
<td>25</td>
</tr>
</tbody>
</table>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
var tb = document.getElementById('tb'),
rowscount = tb.rows.length,
cellcount = rowscount > 0 ? tb.rows[0].cells.length : 0,
innerHTML, rowspan, startRow;
for(var j = 0; j < cellcount; j++) {
startRow = 0;
innerHTML = tb.rows[startRow].cells[j].innerHTML
rowspan = 1;
for(var i = 1; i < rowscount; i++) {
if(tb.rows[i].cells[j].innerHTML == innerHTML && (j == 0 || i < startRow + parseInt(tb.rows[startRow].cells[0].getAttribute('rowspan') || 0))) {
rowspan++;
tb.rows[i].cells[j].className = 'hide';
} else {
if(rowspan > 1) tb.rows[startRow].cells[j].setAttribute('rowspan', rowspan);
startRow = i;
innerHTML = tb.rows[i].cells[j].innerHTML
rowspan = 1
}
}
if(rowspan > 1) tb.rows[startRow].cells[j].setAttribute('rowspan', rowspan);
}
$('tbody tr').children('td:first-child').find('input').siblings().html('')
</script>
</body>
</html>
4.declare type的作用 是因?yàn)椋簀s本身是弱類(lèi)型語(yǔ)言,需要在運(yùn)行的時(shí)候才能判定類(lèi)型是否有問(wèn)題或者進(jìn)行一些操作,效率低。
提前申明類(lèi)型之后,一方面便于合作,更規(guī)范。另一方面可以在編譯階段就能檢測(cè)出語(yǔ)法錯(cuò)誤。節(jié)省了運(yùn)行時(shí)間。
static:“延遲靜態(tài)綁定”了解一下
class A
{
private static $name = "A類(lèi)";
public static function test()
{
echo static::$name;
}
}
class B extends A
{
protected static $name = "B類(lèi)";
}
B::test();個(gè)人觀點(diǎn):
static Direction tileCodeToOrientation(int tileCode)
上述方法定義返回類(lèi)型為Direction,但方法返回值是int類(lèi)型
int boardPosition;
return boardPosition;
方法語(yǔ)氣返回類(lèi)型和實(shí)際返回類(lèi)型不匹配,所以報(bào)錯(cuò)
希望對(duì)你有所幫助,謝謝
nginx rewrite 了解下 我就舉個(gè)例子
location / {
rewrite /(.*) /index.html#$1;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ui-eoms;
}你應(yīng)該用逗號(hào)分隔收件地址
[mailreceivers]
who=a1@example.com, a2@example.com
然后在讀取后轉(zhuǎn)換成字符串?dāng)?shù)組
raw_value = config.get('mailreceivers', 'who')
msg_to = [i.strip() for i in raw_value.split(',')]你將路由轉(zhuǎn)成哈希路由再試一下?也就是localhost:8080/#/login
單一入口模式
單一入口的應(yīng)用程序就是說(shuō)用一個(gè)文件處理所有的HTTP請(qǐng)求,例如不管是列表頁(yè)還是文章頁(yè),都是從瀏覽器訪問(wèn)index.php文件,這個(gè)文件就是這個(gè)應(yīng)用程序的單一入口。
由于所有的http請(qǐng)求都由index.php接收,所以可以進(jìn)行集中的安全性檢查,如果不是單一入口,那么開(kāi)發(fā)者就必須記得在每一個(gè)文件的開(kāi)始加上安全性檢查代碼。
工作都被集中到了index.php來(lái)完成,可以減輕我們維護(hù)其他功能代碼的難度。
由于所有http請(qǐng)求都是針對(duì)index.php,所以程序的url看起來(lái)確實(shí)不那么美觀,特別是對(duì)搜索引擎來(lái)說(shuō)很不友好。
要解決這個(gè)問(wèn)題,可以采用url重寫(xiě)、PATHINFO等方式,但也可以在前臺(tái)頁(yè)面不使用單一入口方式,而是保持多個(gè)文件入口?;蛘邇烧呋煊谩?/p>
你不知道什么是斷點(diǎn)吧......斷點(diǎn)走完了頁(yè)面才響應(yīng)完畢
Window是window的構(gòu)造函數(shù),instanceof Window。所有變量如果沒(méi)有找到,最終都找到window下,window也不例外。(不知道怎么描述,如果不滿(mǎn)足你的問(wèn)題2,那么這時(shí)候window將會(huì)是一個(gè)例外)
name === window.name;//true
window === window.window.window;//true
window準(zhǔn)確來(lái)說(shuō)是一個(gè)Web API,僅依賴(lài)于運(yùn)行環(huán)境。(不知道怎么描述,只是想說(shuō)Web API,不應(yīng)簡(jiǎn)單的理解為js,比如!!document.all===false)CLIENT_ID是需要注冊(cè)后分配的。
布爾轉(zhuǎn)換,或是一個(gè)函數(shù)一個(gè)條件
proxy_pass這行替換成
set $admintest "admintest.happymall.com";
resolver 114.114.114.114;
proxy_pass http://$admintest;用的你的代碼 沒(méi)有問(wèn)題啊 能出來(lái)圖片和文字啊
進(jìn)入一個(gè)新的編輯頁(yè)面時(shí),可以隨機(jī)生成一個(gè)token值,比如 /article/{token}, 存草稿時(shí) {token: 草稿},頁(yè)面刷新時(shí),token不變;
進(jìn)入新的頁(yè)面時(shí),token變化,這時(shí)候localStorage 判斷token是否相同,不同則不用處理
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。