亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

[不懂就要問]正則表達式輸出用數組?

<?php
//請修改變量p的正則表達式,使他能夠匹配str中的姓名
$p?=?'/\w{6}\s\w{4}/';
$str?=?"name:steven?jobs";
preg_match($p,?$str,?$match);
echo?$match[0];?//結果為:steven?jobs

這是我寫的,改了一下就對了,數組的鍵為0

<?php
//請修改變量p的正則表達式,使他能夠匹配str中的姓名
$p?=?'/name:([\w\s]+)/';
$str?=?"name:steven?jobs";
preg_match($p,?$str,?$match);
echo?$match[1];?//結果為:steven?jobs

這是教程給出的答案,數組的鍵為1

兩個問題:

1????為什么要用數組才能輸出?

2????為什么教程給出的用$match[1]?我的是[0]?

正在回答

2 回答

  1. 因為匹配的結果會存儲在變量$match中,即preg_match($p,?$str,?$match)中的參數$match,而這個參數$match是一個數組。

  2. 因為你和教程的匹配方式不同,如果沒有指明,匹配默認為貪婪模式,教程中的正則表達式明顯有匹配name這個字符,匹配出的結果$match[0]為整個字符串"name:steven?jobs",$match[1]才為steven?jobs,而你的正則表達式則明顯沒有匹配name,所以當然$match[0]為steven?jobs啦

3 回復 有任何疑惑可以回復我~
#1

Ticvory 提問者

非常感謝!解釋的非常清楚
2016-11-07 回復 有任何疑惑可以回復我~

對你有幫助我就很開心了,建議你在學習每一節的時候看一下下面別人的評論,會有很大幫助

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
PHP進階篇
  • 參與學習       181921    人
  • 解答問題       2668    個

輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序

進入課程

[不懂就要問]正則表達式輸出用數組?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號