By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,910 Members | 1,274 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,910 IT Pros & Developers. It's quick & easy.

Question about 'sizeof'

P: n/a
SM
Hello,
I have another simple question about an array in PHP and a variable in
PHP.

This is the array:

$thumbs_cat_1 = array(
'wine',
'cheese',
'ice',
'bread'
);
$thumbs_cat_2 = array(
'hello',
'goodbye'
);
This will work:
$item_total = sizeof($thumbs_cat_1);
output: 4

$item_total = sizeof($thumbs_cat_2);
output: 2
Now, i want to replace the parameter in 'sizeof' by a variable

$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1

$item_total = sizeof($item);
output: Nothing!

How do i pass a variable to the 'sizeof' function?

Thanks
Marco

Jun 2 '08 #1
Share this Question
Share on Google+
15 Replies


P: n/a
SM wrote:
Hello,
I have another simple question about an array in PHP and a variable in
PHP.

This is the array:

$thumbs_cat_1 = array(
'wine',
'cheese',
'ice',
'bread'
);
$thumbs_cat_2 = array(
'hello',
'goodbye'
);
This will work:
$item_total = sizeof($thumbs_cat_1);
output: 4

$item_total = sizeof($thumbs_cat_2);
output: 2
Now, i want to replace the parameter in 'sizeof' by a variable

$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1

$item_total = sizeof($item);
output: Nothing!

How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);

Mark double $$
This is true in any situation, not only with sizeof

best regards
Piotr N
Jun 2 '08 #2

P: n/a
On May 8, 11:15 am, SM <servandomont...@gmail.comwrote:
Hello,
I have another simple question about an array in PHP and a variable in
PHP.

This is the array:

$thumbs_cat_1 = array(
'wine',
'cheese',
'ice',
'bread'
);

$thumbs_cat_2 = array(
'hello',
'goodbye'
);

This will work:
$item_total = sizeof($thumbs_cat_1);
output: 4

$item_total = sizeof($thumbs_cat_2);
output: 2

Now, i want to replace the parameter in 'sizeof' by a variable

$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1

$item_total = sizeof($item);
output: Nothing!

How do i pass a variable to the 'sizeof' function?

Thanks
Marco
Marco,

You should be getting a return of 1 (integer) for a string passed to
the count() function. (sizeof is an alias of count)

To get the length of a string, you would traditionally use
strlen($item), which would return the length of a string.

Regards,

Steve
Jun 2 '08 #3

P: n/a
On May 8, 11:36 am, ELINTPimp <smsi...@gmail.comwrote:
On May 8, 11:15 am, SM <servandomont...@gmail.comwrote:
Hello,
I have another simple question about an array in PHP and a variable in
PHP.
This is the array:
$thumbs_cat_1 = array(
'wine',
'cheese',
'ice',
'bread'
);
$thumbs_cat_2 = array(
'hello',
'goodbye'
);
This will work:
$item_total = sizeof($thumbs_cat_1);
output: 4
$item_total = sizeof($thumbs_cat_2);
output: 2
Now, i want to replace the parameter in 'sizeof' by a variable
$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
Thanks
Marco

Marco,

You should be getting a return of 1 (integer) for a string passed to
the count() function. (sizeof is an alias of count)

To get the length of a string, you would traditionally use
strlen($item), which would return the length of a string.

Regards,

Steve
Ahhh, now i understand after reading Pitor's reply. Yes, he is
correct, I read the question differently.

Steve
Jun 2 '08 #4

P: n/a
>$thumb = 1;
>$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1

$item_total = sizeof($item);
output: Nothing!

How do i pass a variable to the 'sizeof' function?

You should use variable variable:
$item_total = sizeof($$item);

Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';

best regards
Piotr N
Jun 2 '08 #5

P: n/a
SM
On May 8, 11:36 am, ELINTPimp <smsi...@gmail.comwrote:
On May 8, 11:15 am, SM <servandomont...@gmail.comwrote:
Hello,
I have another simple question about an array in PHP and a variable in
PHP.
This is the array:
$thumbs_cat_1 = array(
'wine',
'cheese',
'ice',
'bread'
);
$thumbs_cat_2 = array(
'hello',
'goodbye'
);
This will work:
$item_total = sizeof($thumbs_cat_1);
output: 4
$item_total = sizeof($thumbs_cat_2);
output: 2
Now, i want to replace the parameter in 'sizeof' by a variable
$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
Thanks
Marco

Marco,

You should be getting a return of 1 (integer) for a string passed to
the count() function. (sizeof is an alias of count)

To get the length of a string, you would traditionally use
strlen($item), which would return the length of a string.

Regards,

Steve
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!

Heres the final code:

$thumb = 1;
$item = '$thumbs_cat_' . $thumb;
$item_total = count($item);

Thanks again
Marco
Jun 2 '08 #6

P: n/a
SM
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof

Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';

best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!

Heres the final code:

$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($item);

Thanks again
Marco
Jun 2 '08 #7

P: n/a
SM
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof

Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';

best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!

Heres the final code:

$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);

Thanks again
Marco
Jun 2 '08 #8

P: n/a
SM
On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>$thumb = 1;
>$item = '$thumbs_cat_' . $thumb; //this outputs a string:
>$thumbs_cat_1
>$item_total = sizeof($item);
>output: Nothing!
>How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N

I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!

Heres the final code:

$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);

Thanks again
Marco
Maybe i should open a new post for this one, but here it goes:

I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks

<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>
Jun 2 '08 #9

P: n/a
SM wrote:
On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
>On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>>>>$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!

Heres the final code:

$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);

Thanks again
Marco

Maybe i should open a new post for this one, but here it goes:

I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks

<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>
:)
It should look like this. Mark the { and }
echo ${$item[$i]};

As a side note, is this really best way to access needed data this way ?
Cant you keep original values in the array instead of the variable names ?

best regards
Piotr N
Jun 2 '08 #10

P: n/a
SM
On May 8, 12:31 pm, Piotr <s...@poczta.onet.plwrote:
SM wrote:
On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>>>$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!
Heres the final code:
$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);
Thanks again
Marco
Maybe i should open a new post for this one, but here it goes:
I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks
<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>

:)
It should look like this. Mark the { and }
echo ${$item[$i]};

As a side note, is this really best way to access needed data this way ?
Cant you keep original values in the array instead of the variable names ?

best regards
Piotr N
I've tried it, It doesn't work. When i look at the source code, i see
empty an empty string:
<img src="images/" alt="" />

Here's what im trying to do:
-From a list, the user selects the type of discography (either
original, compilation, tributes, other)
-Each type of discography is associated with an array that contains
the name of the cd cover.
-Then i show a thumbnail (using a loop) of all the cd covers depending
on the array.

my arrays look like this
$thumbs_cat_1 = array('moonlight.jpg'', shadow.jpg', 'luna');
$thumbs_cat_2 = array(...);
$thumbs_cat_3 = array(...);
$thumbs_cat_4 = array(...);

the thumbs look like this:
for($i=0; ...){
....<img src="images/discography/thumbs/<?php echo $thumbs_cat_1[$i]; ?
>" alt="" />
}

All of this , works for the first array.
That's why i have a variable that contains the selection from the
user:
$thumb = $_GET['cat'];
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);
.... and so on

That's why i need to create images according to the user selection

Any ideas what's wrong with the code?
Thanks
Marco
Jun 2 '08 #11

P: n/a
SM
On May 8, 12:31 pm, Piotr <s...@poczta.onet.plwrote:
SM wrote:
On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>>>$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!
Heres the final code:
$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);
Thanks again
Marco
Maybe i should open a new post for this one, but here it goes:
I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks
<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>

:)
It should look like this. Mark the { and }
echo ${$item[$i]};

As a side note, is this really best way to access needed data this way ?
Cant you keep original values in the array instead of the variable names ?

best regards
Piotr N
I've tried it, It doesn't work. When i look at the source code, i see
empty an empty string:
<img src="images/" alt="" />

Here's what im trying to do:
-From a list, the user selects the category of discography (either
original, compilation, tributes, other)
-Each type of discography is associated with an array that contains
the name of the cd covers.
-Then i show a thumbnail (using a loop) of all the cd covers.

my arrays look like this (one for each category of discography)
$thumbs_cat_1 = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumbs_cat_2 = array(...);
$thumbs_cat_3 = array(...);
$thumbs_cat_4 = array(...);

Then i create the thumbs like this:
for($i=0; ...){
....<img src="images/discography/thumbs/<?php echo $thumbs_cat_1[$i]; ?
>" alt="" />
}

All of this works perfectly for the first array.
That's why, i think, i need a variable that contains the selection
from the user (the category of discography) so i can select values
from the correct array.
I do it like this:

$cat = $_GET['cat']; //output: 1
$sel_array = 'thumbs_cat_' . $cat;//create the string: thumbs_cat_1


Then i create the thumbs like this:
for($i=0; ...){
....<img src="images/discography/thumbs/<?php echo ${$sel_array[$i]}; ?
>" alt="" />
}
.... and so on

You think my code makes sense? Maybe i'm doing it wrong.
The last part is were im stock...
Any ideas what's wrong?
Thanks again
Marco
Jun 2 '08 #12

P: n/a
SM
On May 8, 12:31 pm, Piotr <s...@poczta.onet.plwrote:
SM wrote:
On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>>>$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_1
$item_total = sizeof($item);
output: Nothing!
How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!
Heres the final code:
$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);
Thanks again
Marco
Maybe i should open a new post for this one, but here it goes:
I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks
<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>

:)
It should look like this. Mark the { and }
echo ${$item[$i]};

As a side note, is this really best way to access needed data this way ?
Cant you keep original values in the array instead of the variable names ?

best regards
Piotr N
I've tried it, It doesn't work. When i look at the source code, i see
an empty string:
<img src="images/" alt="" />

Here's what im trying to do:
-From a list, the user selects the category of discography (either
original, compilation, tributes, other)
-Each type of discography is associated with an array that contains
the name of the cd covers.
-Then i show a thumbnail (using a loop) of all the cd covers.

my arrays look like this (one for each category of discography)
$thumbs_cat_1 = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumbs_cat_2 = array(...);
$thumbs_cat_3 = array(...);
$thumbs_cat_4 = array(...);

Then i create the thumbs like this:
for($i=0; ...){
....<img src="images/discography/thumbs/<?php echo $thumbs_cat_1[$i]; ?
>" alt="" />
}

All of this works perfectly for the first array.
That's why, i think, i need a variable that contains the selection
from the user (the category of discography) so i can select values
from the correct array.
I do it like this:

$cat = $_GET['cat']; //output: 1
$sel_array = 'thumbs_cat_' . $cat;//create the string: thumbs_cat_1


Then i create the thumbs like this:
for($i=0; ...){
....<img src="images/discography/thumbs/<?php echo ${$sel_array[$i]}; ?
>" alt="" />
}
.... and so on

You think my code makes sense? Maybe i'm doing it wrong.
The last part is were im stock...
Any ideas what's wrong?
Thanks again
Marco
Jun 2 '08 #13

P: n/a
SM wrote:
On May 8, 12:31 pm, Piotr <s...@poczta.onet.plwrote:
>SM wrote:
>>On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>>$thumb = 1;
>>$item = '$thumbs_cat_' . $thumb; //this outputs a string:
>>$thumbs_cat_1
>>$item_total = sizeof($item);
>>output: Nothing!
>>How do i pass a variable to the 'sizeof' function?
>You should use variable variable:
>$item_total = sizeof($$item);
>Mark double $$
>This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!
Heres the final code:
$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);
Thanks again
Marco
Maybe i should open a new post for this one, but here it goes:
I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks
<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>
:)
It should look like this. Mark the { and }
echo ${$item[$i]};

As a side note, is this really best way to access needed data this way ?
Cant you keep original values in the array instead of the variable names ?

best regards
Piotr N

I've tried it, It doesn't work. When i look at the source code, i see
an empty string:
<img src="images/" alt="" />

Here's what im trying to do:
-From a list, the user selects the category of discography (either
original, compilation, tributes, other)
-Each type of discography is associated with an array that contains
the name of the cd covers.
-Then i show a thumbnail (using a loop) of all the cd covers.

my arrays look like this (one for each category of discography)
$thumbs_cat_1 = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumbs_cat_2 = array(...);
$thumbs_cat_3 = array(...);
$thumbs_cat_4 = array(...);

Then i create the thumbs like this:
for($i=0; ...){
...<img src="images/discography/thumbs/<?php echo $thumbs_cat_1[$i]; ?
>" alt="" />
}

All of this works perfectly for the first array.
That's why, i think, i need a variable that contains the selection
from the user (the category of discography) so i can select values
from the correct array.
I do it like this:

$cat = $_GET['cat']; //output: 1
$sel_array = 'thumbs_cat_' . $cat;//create the string: thumbs_cat_1


Then i create the thumbs like this:
for($i=0; ...){
...<img src="images/discography/thumbs/<?php echo ${$sel_array[$i]}; ?
>" alt="" />
}
... and so on

You think my code makes sense? Maybe i'm doing it wrong.
The last part is were im stock...
Any ideas what's wrong?
Thanks again
Marco
Why go to all that trouble. Just use a two dimensional array, i.e.

$thumb_cats = array();
$thumb_cats[] = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);

<img src="images/discography/thumbs/<?php echo $thumb_cats[$sel][$i];?>"
alt="" />

Much cleaner.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Jun 2 '08 #14

P: n/a
SM
On May 8, 4:27 pm, Jerry Stuckle <jstuck...@attglobal.netwrote:
SM wrote:
On May 8, 12:31 pm, Piotr <s...@poczta.onet.plwrote:
SM wrote:
On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>$thumb = 1;
>$item = '$thumbs_cat_' . $thumb; //this outputs a string:
>$thumbs_cat_1
>$item_total = sizeof($item);
>output: Nothing!
>How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!
Heres the final code:
$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);
Thanks again
Marco
Maybe i should open a new post for this one, but here it goes:
I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks
<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>
:)
It should look like this. Mark the { and }
echo ${$item[$i]};
As a side note, is this really best way to access needed data this way ?
Cant you keep original values in the array instead of the variable names ?
best regards
Piotr N
I've tried it, It doesn't work. When i look at the source code, i see
an empty string:
<img src="images/" alt="" />
Here's what im trying to do:
-From a list, the user selects the category of discography (either
original, compilation, tributes, other)
-Each type of discography is associated with an array that contains
the name of the cd covers.
-Then i show a thumbnail (using a loop) of all the cd covers.
my arrays look like this (one for each category of discography)
$thumbs_cat_1 = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumbs_cat_2 = array(...);
$thumbs_cat_3 = array(...);
$thumbs_cat_4 = array(...);
Then i create the thumbs like this:
for($i=0; ...){
...<img src="images/discography/thumbs/<?php echo $thumbs_cat_1[$i]; ?
" alt="" />
}
All of this works perfectly for the first array.
That's why, i think, i need a variable that contains the selection
from the user (the category of discography) so i can select values
from the correct array.
I do it like this:
$cat = $_GET['cat']; //output: 1
$sel_array = 'thumbs_cat_' . $cat;//create the string: thumbs_cat_1
Then i create the thumbs like this:
for($i=0; ...){
...<img src="images/discography/thumbs/<?php echo ${$sel_array[$i]}; ?
" alt="" />
}
... and so on
You think my code makes sense? Maybe i'm doing it wrong.
The last part is were im stock...
Any ideas what's wrong?
Thanks again
Marco

Why go to all that trouble. Just use a two dimensional array, i.e.

$thumb_cats = array();
$thumb_cats[] = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);

<img src="images/discography/thumbs/<?php echo $thumb_cats[$sel][$i];?>"
alt="" />

Much cleaner.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attglobal.net
==================
Hey Jeery! Thanks . That help a lot! Much cleaner and nicer.

Marco
Jun 2 '08 #15

P: n/a
SM
On May 8, 4:27 pm, Jerry Stuckle <jstuck...@attglobal.netwrote:
SM wrote:
On May 8, 12:31 pm, Piotr <s...@poczta.onet.plwrote:
SM wrote:
On May 8, 11:50 am, SM <servandomont...@gmail.comwrote:
On May 8, 11:42 am, Piotr <s...@poczta.onet.plwrote:
>$thumb = 1;
>$item = '$thumbs_cat_' . $thumb; //this outputs a string:
>$thumbs_cat_1
>$item_total = sizeof($item);
>output: Nothing!
>How do i pass a variable to the 'sizeof' function?
You should use variable variable:
$item_total = sizeof($$item);
Mark double $$
This is true in any situation, not only with sizeof
Forgot about one small detail:
$item = 'thumbs_cat_' . $thumb; //this outputs a string:
---------^ loose the '$';
best regards
Piotr N
I don't need the length of the string , just the actual variable. But
i did like the fact that sizeof is an alias of count. So i will use
count instead.
I didn't know about the $$ tip. Wow! so easy. Thanks, It Works!
Heres the final code:
$thumb = 1;
$item = 'thumbs_cat_' . $thumb;
$item_total = count($$item);
Thanks again
Marco
Maybe i should open a new post for this one, but here it goes:
I'm stock! When i want to reference that variable in a echo statment,
it does't work. Any suggestions?
Thanks
<li><a href="<?php echo $SERVER['PHP_SELF']; ?>?cat=<?php echo
$category_this; ?>"><img src="images/<?php echo($$item[$i]);?>"
alt="" /></a></li>
:)
It should look like this. Mark the { and }
echo ${$item[$i]};
As a side note, is this really best way to access needed data this way ?
Cant you keep original values in the array instead of the variable names ?
best regards
Piotr N
I've tried it, It doesn't work. When i look at the source code, i see
an empty string:
<img src="images/" alt="" />
Here's what im trying to do:
-From a list, the user selects the category of discography (either
original, compilation, tributes, other)
-Each type of discography is associated with an array that contains
the name of the cd covers.
-Then i show a thumbnail (using a loop) of all the cd covers.
my arrays look like this (one for each category of discography)
$thumbs_cat_1 = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumbs_cat_2 = array(...);
$thumbs_cat_3 = array(...);
$thumbs_cat_4 = array(...);
Then i create the thumbs like this:
for($i=0; ...){
...<img src="images/discography/thumbs/<?php echo $thumbs_cat_1[$i]; ?
" alt="" />
}
All of this works perfectly for the first array.
That's why, i think, i need a variable that contains the selection
from the user (the category of discography) so i can select values
from the correct array.
I do it like this:
$cat = $_GET['cat']; //output: 1
$sel_array = 'thumbs_cat_' . $cat;//create the string: thumbs_cat_1
Then i create the thumbs like this:
for($i=0; ...){
...<img src="images/discography/thumbs/<?php echo ${$sel_array[$i]}; ?
" alt="" />
}
... and so on
You think my code makes sense? Maybe i'm doing it wrong.
The last part is were im stock...
Any ideas what's wrong?
Thanks again
Marco

Why go to all that trouble. Just use a two dimensional array, i.e.

$thumb_cats = array();
$thumb_cats[] = array('moonlight.jpg'', shadow.jpg', 'luna.jpg');
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);
$thumb_cats[] = array(...);

<img src="images/discography/thumbs/<?php echo $thumb_cats[$sel][$i];?>"
alt="" />

Much cleaner.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attglobal.net
==================
Hey Jerry! Thanks . That help a lot! Much cleaner and nicer and it
works perfectly! :)

Marco
Jun 2 '08 #16

This discussion thread is closed

Replies have been disabled for this discussion.