Think that PHP inherited this from the C-language.
The C-language inherited this from good old assembler :-)

Index of the array is the offset from the starting-address of the string.
Suppose the "$a" starts at address 1000 than $a[0] is at 1000 + 0,
$a[1] is at 1000 + 1
$a[2] is at 1000 + 2 etc....

The fact that $a[4] does not exist makes this indeed confusing, perhaps PHP could have solved this internally ?

Gr. Louis


On 12/21/12 23:27, Jim Giner wrote:
On 12/21/2012 5:16 PM, Tedd Sperling wrote:
On Dec 21, 2012, at 4:58 PM, Jim Giner <jim.gi...@albanyhandball.com> wrote:

Never realized that you could address a string as an array of chars, which you are doing. Could that be the issue? Or did I learn something new? Or should you have used substr to remove that last char?

Jim:

I guess you learned something new -- that's good.

A string is just a "string" of chars.

As such, if you define:

$a = "tedd";

then:

$a[0] is 't';
$a[1] is 'e'
$a[2] is 'd'
$a[3] is 'd'

The only confusing thing here is the length of the string -- in this case the length of this string is four, but $a[4] has not been defined.

Cheers,

tedd

_____________________
t...@sperling.com
http://sperling.com



From what I do know, there shouldn't be an a[4].
In any case, let's assume that there is a bug in the string logic that you're using. Why not just use substr?

$topic = substr($topic,0,-1);




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to