คำถามติดแท็ก php

PHP เป็นภาษาสคริปต์ที่ใช้กันอย่างแพร่หลายในระดับสูงมีการเปลี่ยนแปลงเชิงวัตถุและมีการตีความที่ออกแบบมาเพื่อการพัฒนาเว็บเซิร์ฟเวอร์เป็นหลัก ใช้สำหรับคำถามเกี่ยวกับภาษา PHP

5
ข้อดีของการใช้ heredoc ใน PHP คืออะไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ข้อดีของการใช้heredocใน PHP คืออะไรและคุณสามารถแสดงตัวอย่างได้หรือไม่?
196 php  heredoc 

3
เป็นไปได้ที่จะลบคุณสมบัติของวัตถุใน PHP?
ถ้าฉันมีคำstdObjectพูด$a. ตรวจสอบว่ามีปัญหาไม่มีการกำหนดคุณสมบัติใหม่$a, $a->new_property = $xyz; แต่ฉันต้องการลบออกดังนั้นจึงunsetไม่มีความช่วยเหลือที่นี่ ดังนั้น, $a->new_property = null; เป็นชนิดของมัน แต่มีวิธีที่ 'สง่างาม' มากกว่านี้ไหม
196 php  object 

8
วิธีการเรียก XDebug profiler สำหรับสคริปต์ PHP บรรทัดคำสั่ง?
XDebug เสนอคำสั่งการกำหนดค่า "xdebug.profiler_enable_trigger" ที่อนุญาตให้เปิดใช้งานการทำโปรไฟล์โดยผ่านพารามิเตอร์ GET หรือ POST "XDEBUG_PROFILE" เมื่อเรียกใช้สคริปต์ผ่าน HTTP สิ่งนี้มีประโยชน์ถ้าคุณไม่ต้องการทำโปรไฟล์สำหรับสคริปต์ทั้งหมด แต่สำหรับบางกรณีพิเศษโดยไม่ต้องเปลี่ยนการกำหนดค่า PHP ของคุณเสมอ มีวิธีการที่จะบรรลุพฤติกรรมเดียวกันสำหรับโปรแกรม PHP บรรทัดคำสั่งหรือไม่ ฉันพยายามส่ง "XDEBUG_PROFILE" เป็นอาร์กิวเมนต์บรรทัดคำสั่ง แต่ไม่ได้ผล โดยทั่วไปแล้ว PHP บรรทัดคำสั่งการทำโปรไฟล์ทำงานได้ดี แต่ฉันต้องการความยืดหยุ่นต่อการโทรเช่นเดียวกับเบราว์เซอร์และเซิร์ฟเวอร์ HTTP ข้อเสนอแนะใด ๆ

10
php stdClass ไปยังอาร์เรย์
ฉันมีปัญหาในการแปลงวัตถุ stdClass เป็นอาร์เรย์ ฉันได้ลองด้วยวิธีนี้: return (array) $booking; หรือ return (array) json_decode($booking,true); หรือ return (array) json_decode($booking); อาร์เรย์ก่อนที่นักแสดงจะเต็มไปด้วยหนึ่งระเบียนหลังจากที่ฉันพยายามจะโยนมันจะว่างเปล่า วิธีการแปลง / แปลงโดยไม่ลบแถว? อาร์เรย์ก่อนส่ง: array(1) { [0]=> object(stdClass)#23 (36) { ["id"]=> string(1) "2" ["name"]=> string(0) "" ["code"]=> string(5) "56/13" } } หลังจากร่ายว่างเปล่า NULL ถ้าฉันพยายามทำ var_dump($booking); ฉันได้ลองฟังก์ชั่นนี้แล้ว แต่ว่างเสมอ: public function objectToArray($d) { if (is_object($d)) { …
195 php  arrays 

9
เลือกค่าที่ไม่ซ้ำจากคอลัมน์
ฉันมีตาราง MySQL ซึ่งมีข้อมูลประเภทต่อไปนี้: Date product 2011-12-12 azd 2011-12-12 yxm 2011-12-10 sdx 2011-12-10 ssdd นี่คือตัวอย่างของสคริปต์ที่ฉันใช้เพื่อรับข้อมูลจากตารางนี้: <?php $con = mysql_connect("localhost","username","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("db", $con); $sql=mysql_query("SELECT * FROM buy ORDER BY Date"); while($row = mysql_fetch_array($sql)) { echo "<li><a href='http://www.website/". $row['Date'].".html'>buy ". date("j, M Y", strtotime($row["Date"]))."</a></li>"; …
195 php  mysql  sql 


12
PHP DOMDocument loadHTML ไม่ได้เข้ารหัส UTF-8 อย่างถูกต้อง
ฉันพยายามแยก HTML บางส่วนโดยใช้ DOMDocument แต่เมื่อฉันทำฉันก็สูญเสียการเข้ารหัสของฉันทันที $profile = "<div><p>various japanese characters</p></div>"; $dom = new DOMDocument(); $dom->loadHTML($profile); $divs = $dom->getElementsByTagName('div'); foreach ($divs as $div) { echo $dom->saveHTML($div); } ผลลัพธ์ของรหัสนี้คือฉันได้รับตัวละครมากมายที่ไม่ใช่ภาษาญี่ปุ่น อย่างไรก็ตามถ้าฉัน: echo $profile; มันแสดงอย่างถูกต้อง ฉันลอง saveHTML และ saveXML แล้วและไม่แสดงอย่างถูกต้อง ฉันใช้ PHP 5.3 ฉันเห็นอะไร: ã¤ãªãã¤å·ã·ã«ã´ã«ã¦ãã¢ã¤ã«ã©ã³ãç³»ã®å®¶åº­ã«ã9人åå¼ã®5çªç®ã¨ãã¦çã¾ãããå½¼ãå«ãã¦4人ã俳åªã«ãªã£ããç¶è¦ªã¯æ¨æã®ã»ã¼ã«ã¹ãã³ã§ãæ¯è¦ªã¯éµä¾¿å±ã®å®¢å®¤ä¿ã ã£ããé«æ ¡æ代ã¯ã­ã£ãã£ã®ã¢ã«ãã¤ãã«å¤ãã¿ãæè²è³éãåããªããã«ããªãã¯ç³»ã®é«æ ¡ã¸é²å­¦ã สิ่งที่ควรแสดง: イリノイ州シカゴにて、アイルランド系の家庭に、9人兄弟の5番目として生まれる。彼を含めて4人が俳優になった。父親は木材のセールスマンで、母親は郵便局の客室係だった。高校時代はキャディのアルバイトに勤しみ、教育資金を受けながらカトリック系の高校へ進学 แก้ไข: ฉันลดความซับซ้อนของรหัสลงไปที่ห้าบรรทัดเพื่อให้คุณสามารถทดสอบด้วยตัวเอง $profile = …

2
ใน PHP เหตุใด </script> จึงไม่แสดงข้อผิดพลาดในการแยกวิเคราะห์
ฉันใช้งานโค้ดPHPต่อไปนี้: &lt;?php &lt;/script&gt; ?&gt; ไม่มีข้อผิดพลาดในการแยกวิเคราะห์และผลลัพธ์คือ " ?&gt;" ( ตัวอย่าง ) ในกรณีที่คล้ายกันฉันจะได้รับข้อผิดพลาดในการแยกวิเคราะห์: &lt;?php &lt;/div&gt; ?&gt; ข้อผิดพลาดในการแยกวิเคราะห์: ข้อผิดพลาดทางไวยากรณ์, '&lt;' ใน ... เหตุใดจึงไม่&lt;?php &lt;/script&gt; ?&gt;ให้ข้อผิดพลาดเดียวกัน
193 php  syntax  parse-error 

16
การชดเชยสตริงที่ผิดกฎหมาย PHP
ฉันได้รับข้อผิดพลาด PHP แปลกหลังจากอัปเดตเวอร์ชัน php เป็น 5.4.0-3 ฉันมีชุดนี้: Array ( [host] =&gt; 127.0.0.1 [port] =&gt; 11211 ) เมื่อฉันพยายามเข้าถึงมันฉันจะได้รับคำเตือนแปลก ๆ print $memcachedConfig['host']; print $memcachedConfig['port']; Warning: Illegal string offset 'host' in .... Warning: Illegal string offset 'port' in ... ฉันไม่ต้องการแก้ไข php.ini ของฉันและตั้งค่าระดับข้อผิดพลาดอีกครั้ง
193 php  warnings 

4
ไม่สามารถผ่านอาร์กิวเมนต์เป็นโมฆะเมื่อใช้การแนะนำประเภท
รหัสต่อไปนี้: &lt;?php class Type { } function foo(Type $t) { } foo(null); ?&gt; ล้มเหลวขณะใช้งาน: PHP Fatal error: Argument 1 passed to foo() must not be null เหตุใดจึงไม่อนุญาตให้ส่งผ่าน null เช่นเดียวกับภาษาอื่น ๆ
193 php  type-hinting 

30
ผลลัพธ์ที่ไม่คาดคิดเมื่อทำงานกับจำนวนเต็มที่มากในภาษาที่ตีความ
ฉันพยายามที่จะได้รับผลรวมของ1 + 2 + ... + 1000000000แต่ฉันได้รับผลตลกใน PHP และNode.js PHP $sum = 0; for($i = 0; $i &lt;= 1000000000 ; $i++) { $sum += $i; } printf("%s", number_format($sum, 0, "", "")); // 500000000067108992 Node.js var sum = 0; for (i = 0; i &lt;= 1000000000; i++) { sum += i …

23
นับแถวด้วย PDO
มีข้อความที่ขัดแย้งมากมายอยู่รอบตัว วิธีที่ดีที่สุดในการนับแถวโดยใช้ PDO ใน PHP คืออะไร? ก่อนที่จะใช้ PDO mysql_num_rowsฉันเพียงแค่ใช้เพียง fetchAll เป็นสิ่งที่ฉันไม่ต้องการเพราะบางครั้งฉันอาจต้องรับมือกับชุดข้อมูลขนาดใหญ่ดังนั้นจึงไม่ดีสำหรับการใช้งานของฉัน คุณมีข้อเสนอแนะใด?
192 php  mysql  pdo 

10
แถวแทรก PHP / MySQL แล้วรับ 'id'
ฟิลด์ 'id' ของตารางอัตโนมัติของฉันเพิ่มขึ้นเมื่อฉันแทรกแถว ฉันต้องการแทรกแถวจากนั้นรับ ID นั้น ฉันจะทำตามที่ฉันพูด แต่มีวิธีที่ฉันสามารถทำได้โดยไม่ต้องกังวลเกี่ยวกับเวลาระหว่างการแทรกแถวและรับรหัสหรือไม่ ฉันรู้ว่าฉันสามารถสืบค้นฐานข้อมูลสำหรับแถวที่ตรงกับข้อมูลที่ป้อน แต่มีการเปลี่ยนแปลงสูงจะมีการทำซ้ำโดยมีความแตกต่างเพียงอย่างเดียวคือ id
192 php  mysql 

11
ห้ามใช้ Nginx 403 สำหรับไฟล์ทั้งหมด
ฉันติดตั้ง nginx ด้วย PHP-FPM บนกล่อง CentOS 5 แต่ฉันพยายามที่จะให้บริการไฟล์ใด ๆ ของฉันไม่ว่าจะเป็น PHP หรือไม่ Nginx ทำงานเป็น www-data: www-data และไซต์ "ยินดีต้อนรับสู่ nginx บน EPEL" เริ่มต้น (เป็นเจ้าของโดย root: root พร้อมสิทธิ์ 644) โหลดได้ดี ไฟล์การกำหนดค่า nginx มีคำสั่งincludeสำหรับ/etc/nginx/sites-enabled/*.confและฉันมีไฟล์การกำหนดค่าexample.com.confดังนั้น: server { listen 80; Virtual Host Name server_name www.example.com example.com; location / { root /home/demo/sites/example.com/public_html; index index.php index.htm index.html; …

18
PHP - จะกำหนดได้ดีที่สุดว่าการเรียกใช้ปัจจุบันมาจาก CLI หรือเว็บเซิร์ฟเวอร์หรือไม่
ฉันต้องการตรวจสอบว่าการร้องขอปัจจุบันของ PHP มาจาก command line (CLI) หรือจากเว็บเซิร์ฟเวอร์ (ในกรณีของฉัน Apache กับ mod_php) มีวิธีแนะนำไหม?
192 php 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.