Tag: PHP的

当派生类被实例化时,抽象类构造函数是不是被隐式调用的?

以这个例子: abstract class Base { function __construct() { echo 'Base __construct<br/>'; } } class Child extends Base { function __construct() { echo 'Child __construct<br/>'; } } $c = new Child(); 来自C#背景,我期望输出是 基地__结构 孩子__构造 但是,实际产出是正义的 孩子__构造

如何检查一个目录是否可以在PHP中写入?

有谁知道我可以检查,看看目录是否可以在PHP中写入? 函数is_writable不适用于文件夹。 (编辑:它工作,看到接受的答案。)

可迭代对象和数组types提示?

我有很多函数要么为数组提供types提示,要么使用is_array()来检查variables的数组。 现在我开始使用可迭代的对象。 他们实现了Iterator或者IteratorAggregate 。 如果它们通过types提示,或者经过is_array() ,它们会被接受为数组吗? 如果我不得不修改我的代码,是否有一个通用的is_iterable() ,或者我必须做类似于: if ( is_array($var) OR $var instance_of Iterable OR $var instanceof IteratorAggregate ) { … } 还有什么其他的可迭代接口?

在MySQL中连接带字段值的string

我有需要在MySQL查询中连接一个字段与字段值,以便LEFT JOIN两个表。 表一有一个名为“category_id”的数值,如61,78,94等。 表二有一个称为“查询”的列,它涉及一个请求路由机制,它具有诸如“product_id = 68”,“category_id = 74”,“manufacturer_id = 99”等的值。 所以在我的查询中,我需要连接表中的连接string派生从一个string和“category_id”列的值匹配查询字段。 我的SQL语句目前是: SELECT * FROM tableOne LEFT JOIN tableTwo ON tableTwo.query = 'category_id=' + tableOne.category_id 我已经尝试使用|| 运算符而不是+运算符,但仍然没有运气。 有可能在MySQL中这样做,还是我在这里跳了枪?

将项目添加到关联数组

//go through each question foreach($file_data as $value) { //separate the string by pipes and place in variables list($category, $question) = explode('|', $value); //place in assoc array $data = array($category => $question); print_r($data); } 这不能代替数据的价值。 我怎么能它每个循环添加一个关联值,但? $file_data是一个具有dynamic大小的数据数组。

不区分大小写的数组search

我有一个这样的数组: $array = Array ( 0 => 'oooo', 1 => 'no', 2 => 'mmmm', 3 => 'yes' ); 我想search一个词“是”。 我知道array_search() ,但我想匹配“是”,“是”和“是”。 我怎样才能做到这一点?

获取PHP stdObject中的第一个元素

我有一个对象(存储为$video),看起来像这样 object(stdClass)#19 (3) { [0]=> object(stdClass)#20 (22) { ["id"]=> string(1) "123" etc… 我想获得第一个元素的ID,而不必循环。 如果它是一个数组,我会这样做: $videos[0]['id'] 它曾经是这样工作的: $videos[0]->id 但是现在我在上面显示的行中出现一个错误“不能使用types为stdClass的对象作为数组…”。 可能是由于PHP升级。 那么我怎样才能得到第一个ID没有循环? 可能吗? 谢谢!

在PHP Try Catch块中抛出exception

我在Drupal 6 .module文件中有一个PHP函数。 我正在尝试执行初始variablesvalidation之前执行更密集的任务(如数据库查询)。 在C#中,我曾经在我的Try块的开始实现IF语句,如果validation失败,会抛出新的exception。 抛出的exception将被捕获到Catch块中。 以下是我的PHP代码: function _modulename_getData($field, $table) { try { if (empty($field)) { throw new Exception("The field is undefined."); } // rest of code here… } catch (Exception $e) { throw $e->getMessage(); } } 但是,当我尝试运行代码时,它告诉我只能在Catch块内抛出对象。 提前致谢!

使用symfony2和doctrine从现有数据库生成单个实体

是否有可能使用Symfony2控制台工具从数据库中生成一个实体? 在编码的中间,我不得不添加一个表,并且对现有的实体类进行了修改。 所以我不希望所有的实体都重新生成。 任何build议将不胜感激!

检查是否从iOS设备访问PHP页面

我有一个简单的PHP网页,并希望返回不同的内容,这取决于从iPhone / iPad或Web浏览器访问。 我怎样才能做到这一点?