Проблем със count и array

novakabg

Registered
Иска ми се да направя две неща.

При един резултат да скрия ползвам count > 1 и скрива но имам проблем.
Но ми се иска и да игранича пак със count да изкарав 3 резултата примерно!


Код:
	 <?php if($gallery['images']) { ?>
	<div class="product-glrslider">
		<ul>
	    <?php   
		        // Проблем count (count(array_slice($gallery['images'], 0, 1) >1) as $gallery_id => $galleryid) 
				// Примерно при 1 резултат да не показва снимка
				foreach (array_slice($gallery['images'], 0, 1) as $gallery_id => $galleryid) {
				// Тука ми се иска да игранича резултатите повече от 3 да не се показват!
				// Но е проблем като цяло!
					foreach (array_slice($galleryid, 0, 3) as $gallery_value_id => $gallery_image) {
					 echo "<li class='slide'><img class='hover' rel=\"".$gallery['thumb']."\" src=\"".$gallery['icon']."\" alt=\"".( (isset($gallery['title']) && $gallery['title']) ? $gallery['title'] : "" )."\"></li>";
					}	
					
                }
        ?>
        </ul>     
	</div>
	 <?php } ?>
 
Първо си формулирай тезата и въпроса добре, пък после чакай да ти отговорим. Тук гадаем само на буркан с ракия, дали е сливова или гроздова, примерно! :D
 
А аз да добавя, че когато HTML не е част от въпроса, не трябва да го има и в сорса, който си дал.

И е хубаво да използваш [рhp] тага в поста си, вместо [соde], за да има syntax highlighting.

И не давай частите от кода, които не са съществени за въпроса ти - в случая първите и последните 4 реда. Така ще ни улесниш и ще ни помогнеш да се фокусираме върху най-важното.

Това също е препоръчително да се придържаш към него като питаш нещо: https://stackoverflow.com/help/mcve
 
@anonimen Дори не мисля да отговарям, stackoverflow.com никога съм нямал проблем! Ако неможеш да решиш проблема просто не ми пиши, има хора в форума които оправиха проблема само при пускане на кода, явно вие още се учите като мен на заявките :)

@dakata__92 Теза:
https://bg.wikipedia.org/wiki/%D0%A2%D0%B5%D0%B7%D0%B0
Или какво е Диалектика:
https://bg.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%BA%D0%B0
 
Ако искаш да предразположиш хората да ти помогнат, трябва да се постараеш. Да им посочиш проблема си "концентрирано", точно на мястото, където ти трябва помощ. Да не засипваш кода с излишни кавички, ескейпвания и html тагове. Да го покажеш максимално просто.

Ако целта ти е да получиш смислени отговори, то вместо да учиш даката на това какво е теза, се опитай да си преформулираш въпроса, както той ти каза, и се опитай да направиш това, което аз ти писах по-горе.

novakabg каза:
Ако неможеш да решиш проблема просто не ми пиши
Дори аз да не знам отговора, то ако си оправиш въпроса, някой, който знае, ще може да ти отговори. Защото в момента, отваряйки темата, повечето хора просто ще върнат на предишната страница.
Изречението "При един резултат да скрия ползвам count > 1 и скрива но имам проблем. " е някак неясно, не се вижда веднага са какво точно става дума. Така само затормозяваш отговарящите, не им помагаш.

Най-малкото, като даваш код във въпрос и очакваш отговори, го форматирай/идентирай правилно. Направи добро впечатление, за да -- да се върна в началото -- предразположиш останалите.

От предния ти пост личи, че не си ни разбрал, затова ще се опитам да ти помогна. Ще ти дам пример с кода, който си дал, но с изчистен HTML, форматиран и що-годе четлив. Със syntax highlighting.

PHP:
<?php
// Проблем count (count(array_slice($gallery['images'], 0, 1) >1) as $gallery_id => $galleryid) 
// Примерно при 1 резултат да не показва снимка
foreach (array_slice($gallery['images'], 0, 1) as $gallery_id => $galleryid) {
    // Тука ми се иска да игранича резултатите повече от 3 да не се показват!
    // Но е проблем като цяло!
    foreach (array_slice($galleryid, 0, 3) as $gallery_value_id => $gallery_image) {
        $thumb = $gallery['thumb'];
        $icon  = $gallery['icon'];
        $title = (isset($gallery['title']) && $gallery['title']) ? $gallery['title'] : "";
        // do stuff with thumb/icon/title
    }
}
 
novakabg каза:
@anonimen Дори не мисля да отговарям, stackoverflow.com никога съм нямал проблем! Ако неможеш да решиш проблема просто не ми пиши, има хора в форума които оправиха проблема само при пускане на кода, явно вие още се учите като мен на заявките :)

@dakata__92 Теза:
https://bg.wikipedia.org/wiki/%D0%A2%D0%B5%D0%B7%D0%B0
Или какво е Диалектика:
https://bg.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%BB%D0%B5%D0%BA%D1%82%D0%B8%D0%BA%D0%B0

Колега, не е нужно да ми преподаваш уроци! С коментара ми не исках да те засегна, а желаех просто и ясно да обясниш в какво се състои проблемат ти. Често се случва, когато хората добре формулират въпроса си, сами да достигнат до желаната от тях логика на приложението им. Тоест, чрез правилното изразяване на проблема се достига до нужният алгоритъм за решаване на задачата. Защо не вземеш да послушаш @anonimen и не ни обясниш какво искаш да създадеш, а не:

Иска ми се да направя две неща.

При един резултат да скрия ползвам count > 1 и скрива но имам проблем.
Но ми се иска и да игранича пак със count да изкарав 3 резултата примерно!

Повечето тук умеем да четем код, но не умеем да разчитаме хорските мисли. Нужно ни е кратко и ясно обоснована предистория на проблема (теза), след което следва и формирането на въпроса спрямо казуса. Кажи ми как да ти помогна, искам, но ти реално не си дал никаква полезна информация относно възникналият ти проблем. Нещо сумарно го ограничаваш с 1 пък после искаш 3, ама как и защо, а дали е правилно не се знае. Примерен масив, НЯМА!

Да по кода разбирам какво си имал в предвид, но как да ти кажа, не бих използвал тази логика и изобщо array-slice.

PHP:
<?php
if (isset($gallery['images'][0]) and $gallery['images'][1] and $gallery['images'][2]) {
	// Принтираш трите изображения
} else if (isset($gallery['images'][0]) and $gallery['images'][1]) {
	// Принтираш само две изображения, което означава, че ако това условие не е вярно няма да принтираш повече.
}
Даже и циклите са излишни, щом ще обработваш само първите три стойности на масива. Така или иначе винаги ще ги знаеш, но това е вече въпрос на логика и може да се наложи да ползваш цикъл зависейки от ключът на масива.
 
Благодаря за добрите коментари :), така ми е по лесно и разбирам кой иска да помогне! :?: :) :) :) :)
 
novakabg каза:
Благодаря за добрите коментари :), така ми е по лесно и разбирам кой иска да помогне! :?: :) :) :) :)
Да де, но пък на нас не ни е по-лесно! Бил съм и продалжавам да бъда на твоето място и да задавам въпроси тук, но мисля, че натряпах достатъчно опит и аз да помагам от време на време. Какво стана с проблема ти? Реши ли го по някакъв начин? :)
 

Горе