web関連

【PHP】foreach使って配列のループ

2018/12/05

2018/11/29

【PHP】foreach使って配列のループ

静的なサイトでlightboxを利用したギャラリー作るのに一々同じコードを書くのがめんどくさかったので使ったコード

foreachを使って配列を繰り返し(ループ)処理

画像、キャプションを配列に入れて使用

<?php 
$galleryBox = [
	'img_gallery01' => 'キャプション01',
	'img_gallery02' => 'キャプション02',
	'img_gallery03' => 'キャプション03',
	'img_gallery04' => 'キャプション04',
	'img_gallery05' => 'キャプション05'
];
foreach ($galleryBox as $img => $caption) : ?>
	<div class="gallery_img">
		<a href="https://*****.com/images/<?php echo $img02; ?>.jpg">
			<img src="https://*****.com/images/<?php echo $img; ?>_thumbnail.jpg" />
		</a>
		<div class="caption"><?php echo $caption; ?></div>
	</div>
<?php endforeach; ?>

こういう書き方foreach ($galleryBox as $img => $caption)で配列って出力できるんすね

PHP5.4以降で配列の短縮構文が追加され、array()の代わりに[](角括弧)が使えるようになったらしい
だからPHP5.4以前では以下のように書く必要性があるみたい

↓PHP5.4以前の時の書き方

$galleryBox = array(
…
);

知らなかったら絶対やらかしていた

▼参考
https://www.sejuku.net/blog/23326

 

なんか「連想配列」やら「多次元配列」ってのがあるんすね。PHP使いこなせるようになるまでの道のりは険しいなぁー
なかなか実業務で使わんし