--TEST--
-Test array_column() function
+Test array_column() function: basic functionality
--FILE--
<?php
/* Prototype:
* the specified "column" in a two-dimensional array.
*/
-echo "*** Testing basic functionalities ***\n";
+echo "*** Testing array_column() : basic functionality ***\n";
/* Array representing a possible record set returned from a database */
$records = array(
array(
echo "Done\n";
?>
--EXPECTF--
-*** Testing basic functionalities ***
+*** Testing array_column() : basic functionality ***
-- first_name column from recordset --
array(3) {
[0]=>
--- /dev/null
+--TEST--
+Test array_column() function: error conditions
+--FILE--
+<?php
+/* Prototype:
+ * array array_column(array $input, mixed $key);
+ * Description:
+ * Returns an array containing all the values from
+ * the specified "column" in a two-dimensional array.
+ */
+
+echo "*** Testing array_column() : error conditions ***\n";
+
+echo "\n-- Testing array_column() function with Zero arguments --\n";
+var_dump(array_column());
+
+echo "\n-- Testing array_column() function with One argument --\n";
+var_dump(array_column(array()));
+
+echo "\n-- Testing array_column() function with more than expected no. of arguments --\n";
+var_dump(array_column(array(), 'foo', 'bar'));
+
+echo "\n-- Testing array_column() function with string as first parameter --\n";
+var_dump(array_column('foo', 0));
+
+echo "\n-- Testing array_column() function with int as first parameter --\n";
+var_dump(array_column(1, 'foo'));
+
+echo "\n-- Testing array_column() key parameter should be a string or an integer (testing bool) --\n";
+var_dump(array_column(array(), true));
+
+echo "\n-- Testing array_column() key parameter should be a string or integer (testing float) --\n";
+var_dump(array_column(array(), 2.3));
+
+echo "\n-- Testing array_column() key parameter should be a string or integer (testing array) --\n";
+var_dump(array_column(array(), array()));
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing array_column() : error conditions ***
+
+-- Testing array_column() function with Zero arguments --
+
+Warning: array_column() expects exactly 2 parameters, 0 given in %s on line %d
+NULL
+
+-- Testing array_column() function with One argument --
+
+Warning: array_column() expects exactly 2 parameters, 1 given in %s on line %d
+NULL
+
+-- Testing array_column() function with more than expected no. of arguments --
+
+Warning: array_column() expects exactly 2 parameters, 3 given in %s on line %d
+NULL
+
+-- Testing array_column() function with string as first parameter --
+
+Warning: array_column() expects parameter 1 to be array, string given in %s on line %d
+NULL
+
+-- Testing array_column() function with int as first parameter --
+
+Warning: array_column() expects parameter 1 to be array, integer given in %s on line %d
+NULL
+
+-- Testing array_column() key parameter should be a string or an integer (testing bool) --
+
+Warning: array_column(): The key should be either a string or an integer in %s on line %d
+bool(false)
+
+-- Testing array_column() key parameter should be a string or integer (testing float) --
+
+Warning: array_column(): The key should be either a string or an integer in %s on line %d
+bool(false)
+
+-- Testing array_column() key parameter should be a string or integer (testing array) --
+
+Warning: array_column(): The key should be either a string or an integer in %s on line %d
+bool(false)
+Done