true, 'parse' => 'json', 'launch' => false, ) ); // Returns the count of each value that the key 'update' is mapped to. $counts = array_count_values( array_column( $languages, 'update' ) ); // Returns the count of 'update' of type 'available'. $update_count = array_key_exists( 'available', $counts ) ? $counts['available'] : 0; // If there are no updates available. if ( ! $update_count ) { $this->set_status( 'success' ); $this->set_message( 'Languages are up to date.' ); return; } // Singular/Plural message depending on $update_count. $message = ( 1 === $update_count ) ? '1 language has an update available.' : "{$update_count} languages have updates available."; $this->set_status( 'warning' ); $this->set_message( $message ); } }