Index: src/wp-includes/functions.php
===================================================================
--- src/wp-includes/functions.php	(revision 35936)
+++ src/wp-includes/functions.php	(working copy)
@@ -3371,7 +3371,7 @@
 		 * This is simple. Could at some point wrap array_column()
 		 * if we knew we had an array of arrays.
 		 */
-		foreach ( $list as $key => $value ) {
+		foreach ( (array) $list as $key => $value ) {
 			if ( is_object( $value ) ) {
 				$list[ $key ] = $value->$field;
 			} else {
Index: tests/phpunit/tests/functions/listFilter.php
===================================================================
--- tests/phpunit/tests/functions/listFilter.php	(revision 35936)
+++ tests/phpunit/tests/functions/listFilter.php	(working copy)
@@ -110,6 +110,14 @@
 		$this->assertEquals( array( 'f' => 'foo', 'b' => 'bar', 'z' => 'baz' ), $list );
 	}
 
+	/**
+	 * @ticket 35087
+	 */
+	function test_wp_list_pluck_non_array() {
+		$list = wp_list_pluck( false, 'name' );
+		$this->assertEquals( [ 0 => null ], $list );
+	}
+
 	function test_filter_object_list_nested_array_and() {
 		$list = wp_filter_object_list( $this->object_list, array( 'field4' => array( 'blue' ) ), 'AND' );
 		$this->assertEquals( 1, count( $list ) );
