diff --git src/wp-includes/query.php src/wp-includes/query.php
index 053f4e9..8ab5f32 100644
--- src/wp-includes/query.php
+++ src/wp-includes/query.php
@@ -4502,7 +4502,7 @@ class WP_Query {
 
 		$page_obj = $this->get_queried_object();
 
-		$page = (array) $page;
+		$page = array_map( 'strval', (array) $page );
 
 		if ( in_array( (string) $page_obj->ID, $page ) ) {
 			return true;
diff --git tests/phpunit/tests/query/conditionals.php tests/phpunit/tests/query/conditionals.php
index a1f3665..3e1c036 100644
--- tests/phpunit/tests/query/conditionals.php
+++ tests/phpunit/tests/query/conditionals.php
@@ -1017,4 +1017,16 @@ class Tests_Query_Conditionals extends WP_UnitTestCase {
 		$this->assertFalse( is_page_template( array( 'test.php' ) ) );
 		$this->assertTrue( is_page_template( array('test.php', 'example.php') ) );
 	}
+
+	/**
+	 * @ticket 35902
+	 */
+	function test_page_should_cast_argument_to_string() {
+		$page_1 = self::factory()->post->create( array( 'post_type' => 'page', 'post_title' => 'About' ) );
+		$page_2 = self::factory()->post->create( array( 'post_type' => 'page', 'post_title' => "$page_1/7 About" ) );
+		$this->go_to( get_permalink( $page_2 ) );
+		$this->assertQueryTrue( 'is_page', 'is_singular' );
+		$this->assertTrue( is_page( $page_2 ) );
+		$this->assertFalse( is_page( $page_1 ) );
+	}
 }
