我目前在Laravel中构建代码,并在我的代码中添加了(array)
部分,以便在阵列中没有数据被传递时修复了我的laravel sync问题。 This is the question我从中学到并获得了(array)
的代码使用。(数组)语法是做什么的?
我很难找到这个laravel或php的文档,并想知道(array)
代码来自哪种语言/框架,以及它究竟做了什么。如果你能指引我到正确的文档页面,我也会喜欢它。
我目前在Laravel中构建代码,并在我的代码中添加了(array)
部分,以便在阵列中没有数据被传递时修复了我的laravel sync问题。 This is the question我从中学到并获得了(array)
的代码使用。(数组)语法是做什么的?
我很难找到这个laravel或php的文档,并想知道(array)
代码来自哪种语言/框架,以及它究竟做了什么。如果你能指引我到正确的文档页面,我也会喜欢它。
这是创建利用现有变量数组的只是另一种方式
$x = 1; // int
$y = (array)$x; // array[0] => 1
$z = [$x]; // array[0] => 1
我要指出的是,过去的方式将是首选(直接宣告它作为一个数组),因为它更清晰会发生什么(当转换这样的值时,类型杂耍会产生意想不到的结果)。
http://php.net/manual/en/language.types.array.php#language.types.array.casting
我觉得你与型铸造在PHP的过程中苦苦挣扎,比如:
PHP型铸造阵列
我们可以使用任何数据类型变量转换成数组(数组)关键字。任何标量数据类型转换为数组将在第0个索引处创建数组并添加元素。
例如:
<?php
var_dump((array) , 5);// value 5 in the array with 0th index
var_dump((array) NULL);// Will be empty array
?>
var_dump((array),5); //数组中的第5个索引是什么意思,不应该有',' –
这只是一个阵列castring,根据php手册
对于任何整数的种类,浮点,字符串,布尔和r esource, 将值转换为数组会得到一个数组,其索引为零,且标量的值为 转换后的数组结果为单个 元素。换句话说,(array)$ scalarValue与 数组($ scalarValue)完全相同。
如果一个对象被转换为一个数组,那么结果就是一个数组,其 元素是该对象的属性。密钥是成员变量 的名称,但有一些值得注意的例外:整数属性为 无法访问;私有变量的类名前加 变量名;受保护变量的变量名前加'*'作为前缀。这些前置值在任一侧都有空字节。 这可能会导致一些意外的行为:
<?php
>
> class A {
> private $A; // This will become '\0A\0A' }
>
> class B extends A {
> private $A; // This will become '\0B\0A'
> public $AA; // This will become 'AA' }
>
> var_dump((array) new B()); ?>
以上会出现有一个名为“AA”两个键,虽然 一个他们实际上是一个名为“\ 0A \ 0A”。
将NULL转换为数组会导致一个空数组。
我会假设Laravel。我从未在任何我看过的PHP代码中看到'(array)'。 –
[类型杂耍](http://php.net/manual/en/language.types.type-juggling.php)是你正在寻找。 – Gerrit0
@ElroyJetson Laravel没有语法。这不是一种语言。 –