gpt4 book ai didi

php - Ruby 与 PHP 在数组和哈希方面的差异

转载 作者:数据小太阳 更新时间:2023-10-29 08:20:47 27 4
gpt4 key购买 nike

经过多年的 PHP 编程,我才刚刚开始学习 Ruby。我想知道 Ruby 中的数组与 PHP 数组有何不同,以及它与 Ruby 中的散列有何异同。

最佳答案

数组,在其他语言中也称为列表,是事物的有序集合。在 PHP 中是这样的:

array('foo', 'bar', 'baz')

在 Ruby 中,这是:

['foo', 'bar', 'baz']

您可以使用数字索引访问它们:$arr[0]/arr[0]

散列在 PHP 中称为关联数组。它们由键和值组成:

array('foo' => 'bar', 'baz' => 42)
{ 'foo' => 'bar', 'baz' => 42 }

实际上,这两种类型都是PHP中的关联数组,只是分别带有数字或字符串键。在 PHP 中,它们使用相同的语言构造和类型,而在包括 Ruby 在内的其他语言中,它们是不同的类型。 PHP 将散列和列表混合成一种 Array 类型,而 Ruby 则不然。

与像 Haskell 这样的语言相反,在 Haskell 中,列表必须是同质的,哈希/数组可以在 PHP 和 Ruby 中包含任何类型的混合值:

array('foo' => 'bar', 'baz' => array(42, 7), 'blerg' => array(array(array())))
{ 'foo' => 'bar', 'baz' => [42, 7], 'blerg' => [[[]]] }

它们在幕后有何不同很难回答,因为语言非常不同,首先数组/散列是 Ruby 中的对象,而不是 PHP 中的对象。如果您有一个特定有针对性的幕后实现细节问题,请提出一个。

关于php - Ruby 与 PHP 在数组和哈希方面的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com