作者LaPass (LaPass)
看板PHP
标题Re: [请益] 没有key的阵列是如何去利用?
时间Tue Jul 17 15:29:39 2012
※ 引述《coldollsheep (加油加油^^)》之铭言:
: 请问一个阵列的问题
: 因为PHP的阵列的key可以自行决定
: 不一定要使用0 1 .....
: 这真的很方便
: 就算在javascript里面也可以用物件来达到相似的功能
: ---
: 想藉这个版问一个不是PHP的问题
: A这个类别里面有A1 A2两笔
: B这个类别里面有B1 B2 B3 三笔
: 在PHP里面很简单
: $ary['A'][] = 'A1'; (...以此类推)
: 如果在C# 或是java的世界里面是怎麽做的?
: 其实不限定何种语言
: 我只是想知道不是PHP的语言是怎麽做的
大多数的物件导向的语言,都有容器物件
几乎都可以找到类似的东西.....
C# Dictionary
Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary.Add("cat", 2);
dictionary.Add("dog", 1);
if (dictionary.ContainsKey("cat")) int value = dictionary["cat"];
或者,自己写一个索引子的物件
C# 索引子
class SampleCollection<T>
{
private T[] arr = new T[100];
public T this[
int i]
//<= 索引可指定任何类型
{
get{return arr[i];}
set{arr[i] = value;}
}
}
使用时:
SampleCollection<string> stringCollection = new SampleCollection<string>();
stringCollection[0] = "Hello, World";
string stringCollection[0];
Java Map
Map<String,Integer> map = new HashMap<String,Integer>();
map.put("Apple",1);
int i= map.get("Apple");
还有,PHP的阵列,其实比较像是「看起来像阵列的容器物件」吧?
他在从key找value时候,好像是用hash的方式去找
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.59.16.65
1F:→ MOONRAKER:是的,All arrays in php are hashtables. Check 07/17 18:34