Выборка данных из таблицы базы данных для изображения, в столбце изображения у нас есть 8 ссылок на изображения разных размеров для одного продукта, и каждая ссылка на изображение имеет свои размеры, например: — 100×100, 200×200, 500×500 и т. Д.
Все изображения указаны с запятой
Подобно:-
http://example.com/images/data/baby-care-100×100.jpg,
http://example.com/images/data/baby-care-200×200.jpg,
И больше…..
Из этой ссылки на все изображения мне нужно найти 200×200 содержит ссылку на img src
$productImage = array_key_exists('200x200', '$imageUrlStr')? $imageUrlStr['200x200']:'';
Полный код
$result = $mysqli->query("SELECT * FROM store where store= 'deals' AND bestOffer= '1' AND inStock= 'true' ");
while ($rows = $result->fetch_assoc()) {
$store = $rows["store"];
$productId = $rows["productId"];
$title = $rows["title"];
$description = $rows["description"];
$imageUrlStr = $rows["imageUrlStr"];
$productNewImage = array_key_exists('200x200', $imageUrlStr) ? $imageUrlStr['200x200'] : '';
Вы процитировали свой array
$imageUrlStr
, Обновите свой код в
array_key_exists('200x200', $imageUrlStr) ? $imageUrlStr['200x200'] : '';
Вы должны знать, что, как array_key_exists
Работа
bool array_key_exists ( mixed $key , array $array )
ключ
Значение для проверки.массив
Массив с ключами для проверки.
Второй параметр должен быть массивом, а не строкой. Так $imageUrlStr
должен быть массивом, а не строкой
Отредактировано:
С помощью preg_match
$imageUrlStr = "http://example.com/images/data/baby-care-100x200.jpg";
$pattern = '/200x200/';
$productNewImage = preg_match($pattern, $imageUrlStr)) ? $imageUrlStr : '';
Вы также можете использовать strpos
как
$productNewImage = strpos($imageUrlStr, $pattern) !== false) ? $imageUrlStr : '';
<?php
$result = $mysqli->query("SELECT * FROM store where store= 'deals' AND bestOffer= '1' AND inStock= 'true' ");
while ($rows = $result->fetch_assoc()) {
$store = $rows["store"];
$productId = $rows["productId"];
$title = $rows["title"];
$description = $rows["description"];
$imageUrlStr = $rows["imageUrlStr"];
$string=$imageUrlStr;
$array=explode(",",$string);
$pattern = "/200x200/";
?>
<li class="offer-best-box als-item">
<div class="offer-best-box-img">
<a href="<?php echo $rows['productUrl']; ?>" target="_blank"><img src="<?php foreach($array as $value){ $productNewImage = (preg_match($pattern,$value)) ? $value : ""; echo $productNewImage;} ?>" alt="" /></a>
</div>
<div class="offer-best-box-img2">
<div class="offer-best-box-discount"><span><?php echo round($percentage); ?>%</span><i>OFF</i></div>
<div class="offer-best-box-view"><img src="img/store/<?php echo $rows['store']; ?>-small.png" alt="available on store"></div>
</div>
<div class="offer-best-box-text"><a href="<?php echo $rows['productUrl']; ?>" target="_blank"><?php echo $rows['title']; ?></a></div>
<div class="offer-best-box-price">
<div class="offer-best-box-price-mrp">MRP: Rs. <?php echo $mrpPrice[0]; ?></div>
<div class="offer-best-box-price-offer">Price: Rs. <?php echo $offerPrice[0]; ?></div>
</div>
<div class="mobile-box-button"><a href="<?php echo $rows['productUrl']; ?>" target="_blank">Buy Now</a></div>
</li>