字符串/整数PHP数组

时间:2018-02-18 14:40:18

标签: php arrays

Laravel数组到string/integer转换错误。我在php中有一个代码,我需要一个类型为“string array”和“integer array”的变量。但是当我尝试声明它们时,它显示错误为“array to string conversion error”。我是php的新手,所以我该怎么做这个php

class A
{
    public $id;
    public $name;
    public $subject=[];
    public $nosubject;
    public $teacherid=[];
    public $hours=[];

    public function __construct()
    {
        settype($this->subject,"string");
        settype($this->hours,"integer");
        settype($this->teacherid,"integer");
    }}

1 个答案:

答案 0 :(得分:1)

  

我需要一个类型"字符串数组"

的变量

然后你使用了错误的语言,因为PHP 没有类型"字符串数组"。

它具有类型"array",意思是"可能是整数,字符串,其他数组,对象,布尔值或混合的事物数组。正如手册所述,它实际上是一个有序的地图"。有些语言称之为字典地图键值存储。它是,例如,C调用"数组"。

您已将subject声明为数组。这就是你所能做的一切。在构造函数中,做任何事都没有意义,因为将数组声明为数组将是多余的,并将其声明为其他任何内容都会导致错误。

如果需要,您可以执行的操作是在对数组执行某些操作时将数组的所有成员强制转换为字符串。

例如,在诸如returnSubjects之类的函数中,您可能想要执行

$this->subject = array_map(
    function($member) {
        settype($member, 'string');
        return $member;
    },
    $this->subject
);

return $this->subject;