PHP에 튜플이 있습니까?
Python과 다른 언어에서는 의미론적으로 또는 다른 방식으로 데이터의 구조화를 보다 용이하게 하기 위해 튜플에 접근할 수 있다는 것을 알고 있습니다.
제 질문은 PHP에 튜플이 있나요?
그렇지 않다면, 가장 가까운 시설은 어디입니까?
PHP의 배열은 튜플과 매우 유사하게 사용될 수 있습니다.
// one dimensional mixed data
$x = [1, 2, "hello"];
// multidimensional third element
$y = [1, 2, [3, 4, 5]];
// assigning to variables (list unpacking)
list($a, $b, $c) = $x; //$a is 1, $b is 2, $c is "hello"
PHP 7.1부터는 다음과 같이 풀 수도 있습니다.
[$a, $b, $c] = $x;
PHP는 사람들이 모든 것을 위해 사용하는 유일한 실제 내장 데이터 구조입니다.
PHP의 배열은 모두 해시 테이블이며 숫자 또는 문자열 인덱스를 가질 수 있으며 무엇이든 포함할 수 있습니다(일반적으로 더 많은 배열).
튜플처럼 작동하는 배열 구조체가 몇 개 있습니다.
봐
http://us1.php.net/manual/en/language.types.array.php
목록은 함수에서 여러 값을 반환할 때 매우 편리합니다.
PHP 7.1 Symmetric Array Destructuring은 다음과 같은 방법으로 할당할 수 있도록 도입되었습니다.list()
앞에서 언급한 바와 같이
// list() style
list($id1, $name1) = [1, 'Hello']; // Same as $id1 = 1 and $name1 = 'Hello'
// [] style
[$id2, $name2] = [2, 'World']; // Same as $id2 = 2 and $name2 = 'World'
PHP 배열로 튜플을 시뮬레이션할 수 있다는 점에서 앞의 답변이 맞지만, 모든 사용 사례가 아닌 제한된 의미에서만 가능합니다.이는 튜플을 지도의 키로 사용하고자 할 때 명확하게 나타납니다.예를 들어 상태 머신을 구현할 때 전환 테이블의 키는 튜플(tuple)이 됩니다.
(currState, Event) -> newState
PHP에서 적절한 튜플 지원이 있다면 다음과 같은 작업을 수행할 수 있습니다.
$trTable = [
['currState', 'fooEvent'] => 'fooState',
['currState', 'barEvent'] => 'barState',
...
];
대신 다음과 같이 시뮬레이션해야 합니다.
$trTable = [
'currState' => [
'fooEvent' => 'fooState',
'barEvent' => 'barState',
],
...
];
둘 다 같은 결과를 얻지만 첫 번째는 명확한 의미론을 가지고 있습니다.
https://coderwall.com/p/bah4oq 에서:
function foo()
{
return array('foo', 'bar');
}
list($a, $b) = foo();
튜플처럼 사용할 객체 배열을 전달할 수 있습니다.이기종 유형을 배열에 한 번에 저장할 수도 있으므로 튜플의 기능을 매우 밀접하게 모방할 수 있습니다.
언급URL : https://stackoverflow.com/questions/22083760/are-there-tuples-in-php
'programing' 카테고리의 다른 글
스크롤 바가 크롬의 페이지 너비에 추가되지 않도록 합니다. (0) | 2023.09.14 |
---|---|
PL/SQL 쿼리 쉼표로 구분된 문자열 (0) | 2023.09.14 |
부트스트랩의 '팝오버' 컨테이너에 클래스를 동적으로 추가 (0) | 2023.09.14 |
주장을 바탕으로 재스민 스파이를 수정할 수 있는 방법이 있습니까? (0) | 2023.09.09 |
각도 2 - 드롭다운 목록에서 선택한 값 설정 (0) | 2023.09.09 |