Questions tagged «php»

PHP是一种广泛使用的高级动态,面向对象和解释性脚本语言,主要用于服务器端Web开发。用于有关PHP语言的问题。

6
PHP中类方法的默认可见性
我看了看手册,但似乎找不到答案。 没有可见性声明的方法在PHP中的默认可见性是什么?PHP是否像Java一样具有包可见性? 例如,在以下代码中,是go()公共的还是私有的? class test { function go() { } } 我问的原因是,我已经看到许多构造函数代码分别以function __construct()和编写public function __construct()。它们相等吗?
118 php  oop  visibility 

13
如何在PHP中使用三元运算符(?:)作为“ if / else”的简写?
根据此页面上的示例,我在下面有工作和非工作代码示例。 工作代码使用if语句: if (!empty($address['street2'])) echo $address['street2'].'<br />'; 使用三元运算符的非工作代码: $test = (empty($address['street2'])) ? 'Yes <br />' : 'No <br />'; // Also tested this (empty($address['street2'])) ? 'Yes <br />' : 'No <br />'; 更新 在Brian提出技巧之后,我发现echo $test输出了预期的结果。以下作品令人着迷! echo (empty($storeData['street2'])) ? 'Yes <br />' : 'No <br />';

11
将txt文件的每一行读取到新的数组元素
我试图将文本文件的每一行读入一个数组,并将每一行放入一个新元素中。 到目前为止,我的代码。 <?php $file = fopen("members.txt", "r"); $i = 0; while (!feof($file)) { $line_of_text = fgets($file); $members = explode('\n', $line_of_text); fclose($file); ?>
118 php  arrays  text-files  fgets 

6
如何创建具有键值对的数组?
如何将键值对添加到数组? 这行不通: public function getCategorieenAsArray(){ $catList = array(); $query = "SELECT DISTINCT datasource_id, title FROM table"; if ($rs=C_DB::fetchRecordset($query)) { while ($row=C_DB::fetchRow($rs)) { if(!empty($row["title"])){ array_push($catList, $row["datasource_id"] ."=>". $row["title"] ); } } } return($catList); } 因为它给了我: Array ( [0] => 1=>Categorie 1 [1] => 5=>Categorie 2 [2] => 2=>Caterorie 2 ) 我期望: …
117 php  arrays 


10
如何在LIMIT子句中应用bindValue方法?
这是我的代码的快照: $fetchPictures = $PDO->prepare("SELECT * FROM pictures WHERE album = :albumId ORDER BY id ASC LIMIT :skip, :max"); $fetchPictures->bindValue(':albumId', $_GET['albumid'], PDO::PARAM_INT); if(isset($_GET['skip'])) { $fetchPictures->bindValue(':skip', trim($_GET['skip']), PDO::PARAM_INT); } else { $fetchPictures->bindValue(':skip', 0, PDO::PARAM_INT); } $fetchPictures->bindValue(':max', $max, PDO::PARAM_INT); $fetchPictures->execute() or die(print_r($fetchPictures->errorInfo())); $pictures = $fetchPictures->fetchAll(PDO::FETCH_ASSOC); 我懂了 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第1行的“ 15”,“ 15”附近使用正确的语法 似乎PDO会将单引号添加到SQL代码的LIMIT部分的变量中。我查了一下,发现这个与我相关的错误:http : //bugs.php.net/bug.php?id=44639 那是我在看的吗?自2008年4月以来,此错误已被打开!同时,我们应该做什么? …
117 php  mysql  sql  pdo  bindvalue 

9
array_push()和$ array []之间的区别=
在PHP手册中,(array_push)说.. 如果使用array_push()将一个元素添加到数组中,则最好使用$ array [] =,因为这样可以节省调用函数的开销。 例如 : $arr = array(); array_push($arr, "stackoverflow"); print_r($arr); 与 $arr[] = "stackoverflow"; print_r($arr); 我不明白为什么会有很大的不同。
117 php  arrays  push 

3
fastcgi和fpm有什么区别?
我正在尝试在macports上使用fpm安装php。我在某处读到fpm表示FastCGI进程管理器。这是否意味着fastcgi和fpm相同?如果它们相同,那么为什么我们要为PHP提供两个不同的macports变体,即 “ php5 + fastcgi”和 “ php5 + fpm”
117 php  macos  fastcgi  macports 


7
PDO MySQL:是否使用PDO :: ATTR_EMULATE_PREPARES?
这是我到目前为止阅读的内容PDO::ATTR_EMULATE_PREPARES: 由于MySQL的本机准备绕过了查询缓存,因此PDO的准备仿真在性能上更好。 MySQL的本机准备更好地提高了安全性(防止SQL注入)。 MySQL的本机准备更好地用于错误报告。 我不知道这些陈述的真实性。在选择MySQL接口时,我最大的担心是防止SQL注入。第二个问题是性能。 我的应用程序当前使用过程MySQLi(没有准备好的语句),并且充分利用了查询缓存。它很少会在单个请求中重复使用准备好的语句。我开始使用PDO来获取命名参数和已准备好的语句的安全性。 我正在使用MySQL 5.1.61和PHP 5.3.2 我应该保持PDO::ATTR_EMULATE_PREPARES启用状态吗?有没有办法兼顾查询缓存的性能和准备好的语句的安全性?
117 php  mysql  pdo 

5
phpunit模拟方法使用不同参数多次调用
有什么方法可以为不同的输入参数定义不同的模拟期望吗?例如,我有一个称为DB的数据库层类。此类具有称为“ Query(string $ query)”的方法,该方法在输入时采用SQL查询字符串。是否可以为此类(DB)创建模拟并为取决于输入查询字符串的不同Query方法调用设置不同的返回值?
117 php  mocking  phpunit 

5
PHP中的is_file或file_exists
我需要检查文件是否在指定位置($ path。$ file_name)的HDD上。 is_file()和file_exists()函数之间的区别是什么?在PHP中使用哪个更好/更快?
117 php  file  exists 

3
跳过作曲家的PHP要求
我们正在使用PHPCI和作曲家。运行PHPCI的服务器在PHP 5.3上。 对于一个项目,我们使用作曲家添加了Facebook PHP SDK。它需要PHP 5.4。Composer由PHPCI触发并执行。但是由于CI服务器刚获得PHP 5.3编写器而失败,并显示以下错误消息: facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found. 当然,这会让我在PHPCI中的构建失败。 是否可以跳过此要求?也许通过向composer.json添加选项?还是composer.phar调用的参数?

30
Laravel黑屏
我的laravel网站之前一直在工作,最近我升级到Apache 2.4和PHP 5.5.7。 现在,当我进入laravel.mydomain.com时,我得到了一个白色的空白屏幕,apache错误日志,路由等中的任何内容都应该像以前一样正常。 当我在/var/sites/laravel/public/.htaccess中插入无效行时,得到500,.htaccess正在加载。 这是我的.htaccess文件: $ cat /var/sites/laravel/public/.htaccess <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes... RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 这是我的虚拟主机指令: DocumentRoot "/var/sites/laravel/public" ServerName laravel.mydomain.com <Directory "/var/sites/laravel/public"> AllowOverride All allow …

15
从毫秒获取日期格式mdY H:i:su
我正在尝试获取格式化的日期,包括毫秒数。 唯一的问题是我不断赚到000000 date("m-d-Y H:i:s.u", $milliseconds/1000); 例如 2013/07/28 11:26:14.000000
117 php 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.