Can I bind an array to an IN() condition in a PDO query?

You’ll have to construct the query-string. <?php $ids = array(1, 2, 3, 7, 8, 9); $inQuery = implode(‘,’, array_fill(0, count($ids), ‘?’)); $db = new PDO(…); $stmt = $db->prepare( ‘SELECT * FROM table WHERE id IN(‘ . $inQuery . ‘)’ ); // bindvalue is 1-indexed, so $k+1 foreach ($ids as $k => $id) $stmt->bindValue(($k+1), $id); $stmt->execute(); … Read more

How to add elements to an empty array in PHP?

Both array_push and the method you described will work. $cart = array(); $cart[] = 13; $cart[] = 14; // etc //Above is correct. but below one is for further understanding $cart = array(); for($i=0;$i<=5;$i++){ $cart[] = $i; } echo “<pre>”; print_r($cart); echo “</pre>”; Is the same as: <?php $cart = array(); array_push($cart, 13); array_push($cart, 14); … Read more

Sort array of objects by one property

Use usort, here’s an example adapted from the manual: function cmp($a, $b) { return strcmp($a->name, $b->name); } usort($your_data, “cmp”); You can also use any callable as the second argument. Here are some examples: Using anonymous functions (from PHP 5.3) usort($your_data, function($a, $b) {return strcmp($a->name, $b->name);}); From inside a class usort($your_data, array($this, “cmp”)); // “cmp” should … Read more

Preferred method to store PHP arrays (json_encode vs serialize)

Depends on your priorities. If performance is your absolute driving characteristic, then by all means use the fastest one. Just make sure you have a full understanding of the differences before you make a choice Unlike serialize() you need to add extra parameter to keep UTF-8 characters untouched: json_encode($array, JSON_UNESCAPED_UNICODE) (otherwise it converts UTF-8 characters … Read more

How to check if a string starts with a specified string? [duplicate]

PHP 8 or newer: Use the str_starts_with function: str_starts_with(‘http://www.google.com’, ‘http’) PHP 7 or older: Use the substr function to return a part of a string. substr( $string_n, 0, 4 ) === “http” If you’re trying to make sure it’s not another protocol. I’d use http:// instead, since https would also match, and other things such … Read more