Re: Using count() as an array index [message #178440 is a reply to message #178430] |
Mon, 18 June 2012 14:46 |
Martin Leese
Messages: 23 Registered: June 2012
Karma:
|
Junior Member |
|
|
Jerry Stuckle wrote:
> On 6/17/2012 9:57 AM, Martin Leese wrote:
>> Jerry Stuckle wrote:
>> ...
>>> Be aware, though - the typical array in PHP starts counting at 0, not
>>> 1. So an array of 3 elements would be numbered 0, 1 and 2. In this
>>> case, an element with an index of 3 (count($anArray)) is not set (and
>>> will give a warning if you try to use it).
>>>
>>> You need to get used to this idea; it's used throughout PHP.
>>
>> The test code I posted was taken from my
>> application in which I deliberately start my
>> array with [1]. This is because the array
>> holds numbered sections of an FAQ, and it
>> makes more sense to have Section 1 in array
>> element [1], etc.
>
> Actually, I think it's a bad way to do things. What happens if you want
> to add a new section - or delete one? You'll have to change your code,
> which should never be the case.
>
> A better way is to hold the information in a database.
No, I will not need to change my code. I
am using an array as a replacement for a
database. Here is a snippet of my file
faqData.php to give you the idea:
// Set data to identify Web page, and set prev and next anchors
// Note that the first set must have index explicitly set to [1]
$tempIndex = 1;
$dataHref[$tempIndex] = "Ambisonic/faq_section01.html";
$dataAnchorText[$tempIndex] = "1. Where can I get this FAQ?";
$dataCompleteText[$tempIndex] = "1. <a href=\"#SECTION1\">Where can
I get this FAQ?</a>";
$dataSplitText[$tempIndex] = "1. <a rel=\"section\"
href=\"$dataHref[$tempIndex]\">Where can I get this FAQ?</a>";
$tempIndex++;
$dataHref[$tempIndex] = "Ambisonic/faq_section02.html";
$dataAnchorText[$tempIndex] = "2. Corrections to the FAQ";
$dataCompleteText[$tempIndex] = "2. <a
href=\"#SECTION2\">Corrections to the FAQ</a>";
$dataSplitText[$tempIndex] = "2. <a rel=\"section\"
href=\"$dataHref[$tempIndex]\">Corrections to the FAQ</a>";
--
Regards,
Martin Leese
E-mail: please(at)see(dot)Web(dot)for(dot)e-mail(dot)INVALID
Web: http://members.tripod.com/martin_leese/
|
|
|