"함수 unique array by value()"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 7개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류: unique]]
{{DISPLAYTITLE: 함수 unique_array_by_value()}}
{{DISPLAYTITLE: 함수 unique_array_by_value()}}
==개요==
==개요==
;함수 unique_array_by_value()
;함수 unique_array_by_value()
==JavaScript==
[[분류: JavaScript]]
{{참고|자바스크립트 uniqueArrayByValue()}}
<syntaxhighlight lang='JavaScript'>
function uniqueArrayByValue(rows, column) {
  var arr = [];
  for( var i in rows ) {
    row = rows[i];
    if( arr.hasOwnProperty(row[column])) continue;
    arr[row[column]] = row;
  }
  return arr;
}
var revisions = [
{user:'A',timestamp:'2018-01-15T10:55:04Z'},
{user:'B',timestamp:'2017-07-14T17:08:00Z'},
{user:'C',timestamp:'2016-12-27T05:48:18Z'},
{user:'B',timestamp:'2016-03-29T05:00:16Z'},
{user:'A',timestamp:'2015-09-28T08:06:25Z'}
];
console.log( uniqueArrayByValue(revisions, 'user') );
// [
// A: {user: "A", timestamp: "2018-01-15T10:55:04Z"}
// B: {user: "B", timestamp: "2017-07-14T17:08:00Z"}
// C: {user: "C", timestamp: "2016-12-27T05:48:18Z"}
// ]
</syntaxhighlight>


==PHP==
==PHP==
[[분류: PHP]]
[[분류: PHP]]
{{참고|PHP unique_array_by_value()}}
{{참고|PHP unique_array_by_value()}}
<source lang='php'>
<syntaxhighlight lang='php'>
function unique_array_by_value($rows, $column, $overwrite=false) {
function unique_array_by_value($rows, $column) {
$arr = [];
$arr = [];
foreach( $rows as $row ) {
foreach( $rows as $row ) {
if( !$overwirte && array_key_exists($row[$column],$arr)) continue;
if( array_key_exists($row[$column],$arr)) continue;
$arr[$row[$column]] = $row;
$arr[$row[$column]] = $row;
}
}
43번째 줄: 71번째 줄:
#        )
#        )
# )
# )
 
</syntaxhighlight>
print_r( unique_array_by_value($revisions, 'user') );
# Array
# (
#    [0] => Array
#        (
#            [user] => A
#            [timestamp] => 2015-09-28T08:06:25Z
#        )
#    [1] => Array
#        (
#            [user] => B
#            [timestamp] => 2016-03-29T05:00:16Z
#        )
#    [2] => Array
#        (
#            [user] => C
#            [timestamp] => 2016-12-27T05:48:18Z
#        )
# )
</source>


==같이 보기==
==같이 보기==
* [[함수 array_unique()]]
* [[함수 array_unique()]]

2023년 11월 12일 (일) 14:32 기준 최신판


1 개요[ | ]

함수 unique_array_by_value()

2 JavaScript[ | ]

function uniqueArrayByValue(rows, column) {
  var arr = [];
  for( var i in rows ) {
    row = rows[i];
    if( arr.hasOwnProperty(row[column])) continue;
    arr[row[column]] = row;
  }
  return arr;
}
var revisions = [
	{user:'A',timestamp:'2018-01-15T10:55:04Z'},
	{user:'B',timestamp:'2017-07-14T17:08:00Z'},
	{user:'C',timestamp:'2016-12-27T05:48:18Z'},
	{user:'B',timestamp:'2016-03-29T05:00:16Z'},
	{user:'A',timestamp:'2015-09-28T08:06:25Z'}
];
console.log( uniqueArrayByValue(revisions, 'user') );
// [
// A: {user: "A", timestamp: "2018-01-15T10:55:04Z"}
// B: {user: "B", timestamp: "2017-07-14T17:08:00Z"}
// C: {user: "C", timestamp: "2016-12-27T05:48:18Z"}
// ]

3 PHP[ | ]

function unique_array_by_value($rows, $column) {
	$arr = [];
	foreach( $rows as $row ) {
		if( array_key_exists($row[$column],$arr)) continue;
		$arr[$row[$column]] = $row;
	}
	return array_values( $arr );
}
$revisions = [
['user'=>'A','timestamp'=>'2018-01-15T10:55:04Z'],
['user'=>'B','timestamp'=>'2017-07-14T17:08:00Z'],
['user'=>'C','timestamp'=>'2016-12-27T05:48:18Z'],
['user'=>'B','timestamp'=>'2016-03-29T05:00:16Z'],
['user'=>'A','timestamp'=>'2015-09-28T08:06:25Z'],
];

print_r( unique_array_by_value($revisions, 'user') );
# Array
# (
#     [0] => Array
#         (
#             [user] => A
#             [timestamp] => 2018-01-15T10:55:04Z
#         )
#     [1] => Array
#         (
#             [user] => B
#             [timestamp] => 2017-07-14T17:08:00Z
#         )
#     [2] => Array
#         (
#             [user] => C
#             [timestamp] => 2016-12-27T05:48:18Z
#         )
# )

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}