我正在尝试创建一个数组来存储之前访问过的节点。节点将由字符串唯一表示, 字符串可以非常长 。因此,我想知道这两种实现中哪一种更快或更具可扩展性。
$stateString = "..... ....";
$states = array();
1)将stateString存储为密钥
$states[$stateString] = true; // I just want to set the key in the array
$visited = isset($states[$stateString]);
2)将stateString存储为值
$states[] = $stateString;
$visited = in_array($stateString, $states);
答案 0 :(得分:2)
存储密钥要快得多(对于您所谈论的随机查找)。