/var/www/html_us/wp-content/plugins/woocommerce/src/StoreApi/Utilities/ArrayUtils.php


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
53
<?php
namespace Automattic\WooCommerce\StoreApi\Utilities;

/**
 * ArrayUtils class used for custom functions to operate on arrays
 */
class ArrayUtils {
    
/**
     * Join a string with a natural language conjunction at the end.
     *
     * @param array $array  The array to join together with the natural language conjunction.
     * @param bool  $enclose_items_with_quotes Whether each item in the array should be enclosed within quotation marks.
     *
     * @return string a string containing a list of items and a natural language conjuction.
     */
    
public static function natural_language_join$array$enclose_items_with_quotes false ) {
        if ( 
true === $enclose_items_with_quotes ) {
            
$array array_map(
                function ( 
$item ) {
                    return 
'"' $item '"';
                },
                
$array
            
);
        }
        
$last array_pop$array );
        if ( 
$array ) {
            return 
sprintf(
                
/* translators: 1: The first n-1 items of a list 2: the last item in the list. */
                
__'%1$s and %2$s''woocommerce' ),
                
implode', '$array ),
                
$last
            
);
        }
        return 
$last;
    }

    
/**
     * Check if a string contains any of the items in an array.
     *
     * @param string $needle The string to check.
     * @param array  $haystack  The array of items to check for.
     *
     * @return bool true if the string contains any of the items in the array, false otherwise.
     */
    
public static function string_contains_array$needle$haystack ) {
        foreach ( 
$haystack as $item ) {
            if ( 
false !== strpos$needle$item ) ) {
                return 
true;
            }
        }
        return 
false;
    }
}