回答
简短的回答,没有。 PHP是一种弱类型语言,不会强加类型。最接近的是type hints,但这些在这种情况下不会帮助你。
你不能声明一个数组值是一个字符串,int等等,而不定义该值。价值null
(这是最接近你可以得到没有定义值)类型null
。
PHP不需要(或支持)在变量 声明中的显式类型定义;变量的类型取决于使用该变量的上下文。
这甚至没有接近OP想要的东西 –
你能解释一下我想要什么吗? –
简而言之:他想要声明一个类型安全的数组,即其元素都是指定类型的数组。 这对PHP数组是不可能的(尽管可以用类来模拟类型安全的数组)。 –
它只是想,也许不正确,但你可以测试
public function login()
{
$this->index();//not done yet
$arr = array();
foreach ($arr as $element)
{
$element = '';
// or $element = (string)$element;
}
}
也许更好的办法会为t o使用stdClass的对象而不是数组;或stdClass对象的数组。
改为使用stdClass对象。感谢您的建议。 – Sune
你可以使用这个作为你越认为:
$arr = [];
- 1. 声明空数组在javascript
- 2. 在PHP中声明数组时使用数组值
- 3. Php。如果为空声明,
- 4. 数组声明
- 5. Swift:声明空元组
- 6. JS数组声明中的空元素
- 7. C++声明数组索引为空
- 8. Javascript数组不全空声明全局
- 9. 在codeigniter中声明一个大小为100的空数组php
- 10. 如何在全局数组声明中声明sysconf返回值?
- 11. 在PHP中声明全局数组
- 12. 在PHP中非法数组声明?
- 13. PHP数组变量声明为别名
- 14. 如何声明2d矩阵数组PHP
- 15. PHP每个和静态数组声明
- 16. PHP:数组声明导致错误500
- 17. PHP:数组声明中的变量
- 18. PHP数组声明随着类定义
- 19. 使用php数组的echo声明
- 20. Matlab声明数组
- 21. VB6声明数组
- 22. Java - 声明数组
- 23. C#声明数组
- 24. Javascript数组声明
- 25. 与数组声明
- 26. 声明数组并稍后赋值
- 27. JAVA,如何声明数组值?
- 28. Java数组与各地20000值声明
- 29. 如何声明并获取数组值
- 30. PHP数组声明:从现有密钥中分配值
这是一个不错的主意,坚持强类型数组,但你不能在普通的数组做到这一点。但我认为你可以将一个类设置为[ArrayAccess](http://www.php.net/manual/en/class.arrayaccess.php),并通过抛出异常来拒绝那里的非字符串值。 – halfer
如果它是一个数组,它的类型*是一个数组。 – fedorqui