가끔은 여러 객체로 그룹화하여 여러 값으로 정렬해야하는 경우가 있습니다. 일반적으로 값을 연결하여 밑줄이나 중간에 다른 구분 기호로 연결 한 다음 배열 인덱스로 사용하여이 작업을 수행합니다.다중 값의 해시 메소드?
// group all objects with a common parent_id, date, and type
foreach ($objects as $obj) {
$hash = $obj->parent_id . '_' . $obj->date . '_' . $obj->type;
$sorted_objects[$hash][] = $obj;
}
... ick! PHP의 느슨한 입력 및 문자열 연결을 악용하는 것보다 더 나은 방법이 있어야합니다. 여러 값에 대해 해시를 수행 할 수있는 방법이 있습니까? 그냥 이런 식으로 뭔가 할 수있을 것 같다 : 이미 최선의 방법을 사용하여
$hash = sha1_multiple($obj->parent-id, $obj->date, $obj->type);
암을, 또는 더 나은 방법은 무엇입니까?
간단한 문자열 연결보다 훨씬 빠르지 않습니다. –
모든 키가 동일한 문자열 길이가 될 필요가 없다면 SHA1 단계조차도 필요하지 않습니다. – caw