File: array_column_object_cast.phpt

package info (click to toggle)
php7.4 7.4.33-1%2Bdeb11u5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 176,664 kB
  • sloc: ansic: 707,264; php: 18,280; sh: 11,566; cpp: 7,661; javascript: 3,080; pascal: 2,764; yacc: 1,956; xml: 1,722; makefile: 674; perl: 315; awk: 193
file content (52 lines) | stat: -rw-r--r-- 989 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
--TEST--
Test array_column() function: basic functionality
--FILE--
<?php
class ColumnKeyClass {
    function __toString() { return 'first_name'; }
}

class IndexKeyClass {
    function __toString() { return 'id'; }
}

class ValueClass {
    function __toString() { return '2135'; }
}


$column_key = new ColumnKeyClass();
$index_key = new IndexKeyClass();
$value = new ValueClass();


// Array representing a possible record set returned from a database
$records = array(
    array(
        'id' => $value,
        'first_name' => 'John',
        'last_name' => 'XXX'
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith'
    ),
);
$firstNames = array_column($records, $column_key, $index_key);
print_r($firstNames);
var_dump($column_key);
var_dump($index_key);
var_dump($value);
--EXPECTF--
Array
(
    [2135] => John
    [3245] => Sally
)
object(ColumnKeyClass)#%d (0) {
}
object(IndexKeyClass)#%d (0) {
}
object(ValueClass)#%d (0) {
}