这种PHP语法是否正确?

时间:2014-09-04 14:06:31

标签: php codeigniter netbeans

我通常在从dB查询返回单行时使用以下语法。我的IDE(netbeans)不喜欢它,但它工作正常。任何人都可以告诉我它是否不正确,如果有的话,如果有一个更简洁的方式,而不是我所展示的明显替代方案。

 function select_row_from_database($id){
        //$pdo is created etc
        $stmt = $pdo->prepare('SELECT * FROM table WHERE id = ?');
        $stmt->execute(array($id));
        return $stmt->fetchAll()[0];
 }

替代符号而不是netbeans喜欢:

 function select_row_from_database($id){
        //$pdo is created etc
        $stmt = $pdo->prepare('SELECT * FROM table WHERE id = ?');
        $stmt->execute(array($id));
        $result = $stmt->fetchAll();
        return $result[0]
 }

当我使用CodeIgniter时,我可以使用CI活动记录执行此操作(这可能更好地展示了方便性)

 function select_row_from_database($id){
        return $this->db->query('SELECT * FROM table WHERE id = ?',array($id))->result_array()[0];
 }

替代没有令人讨厌的红色亮点:

 function select_row_from_database($id){
        $result = $this->db->query('SELECT * FROM table WHERE id = ?',array($id))->result_array();
        return $result[0]; 
 }

2 个答案:

答案 0 :(得分:1)

Netbeans正式支持5.4功能。

如图所示here

  

注意:设置项目属性后,项目中可以使用所有PHP 5.4功能 - >来源 - > PHP版本到PHP 5.4值,或者在创建PHP项目期间选择相同的值(在“新建项目向导”中)。

请注意,NetBeans IDE for PHP 7.3 + only可以使用此功能。

答案 1 :(得分:0)

你要做的是称为数组解除引用,它是PHP 5.4中的新功能。这可能就是为什么netbeans不喜欢它,但如果你使用的是PHP 5.4或更新版本它应该可以工作。您可以在此处阅读http://php.net/manual/en/migration54.new-features.php

中的新功能