473,785 Members | 2,639 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Question about 'sizeof'

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
15 1534
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
On May 8, 11:15 am, SM <servandomont.. .@gmail.comwrot e:
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
On May 8, 11:36 am, ELINTPimp <smsi...@gmail. comwrote:
On May 8, 11:15 am, SM <servandomont.. .@gmail.comwrot e:
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
>$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
SM
On May 8, 11:36 am, ELINTPimp <smsi...@gmail. comwrote:
On May 8, 11:15 am, SM <servandomont.. .@gmail.comwrot e:
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
SM
On May 8, 11:42 am, Piotr <s...@poczta.on et.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
SM
On May 8, 11:42 am, Piotr <s...@poczta.on et.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
SM
On May 8, 11:50 am, SM <servandomont.. .@gmail.comwrot e:
On May 8, 11:42 am, Piotr <s...@poczta.on et.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
SM
On May 8, 12:31 pm, Piotr <s...@poczta.on et.plwrote:
SM wrote:
On May 8, 11:50 am, SM <servandomont.. .@gmail.comwrot e:
On May 8, 11:42 am, Piotr <s...@poczta.on et.plwrote:
>>>$thumb = 1;
$item = '$thumbs_cat_' . $thumb; //this outputs a string:
$thumbs_cat_ 1
$item_tota l = 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('moonligh t.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 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
2091
by: Sims | last post by:
Hi, I have some small questions that have never been any problems, (for my compiler?), but always make me curious. So here goes... what does the standard sday about the 'if' statement? for example if i have,
17
607
by: ThazKool | last post by:
Why is it that calling sizeof on a class that contains only one char& returns the number 4? Should it have a 0 size?
51
8296
by: Alan | last post by:
hi all, I want to define a constant length string, say 4 then in a function at some time, I want to set the string to a constant value, say a below is my code but it fails what is the correct code? many thx!
30
1956
by: Christopher Benson-Manica | last post by:
Given the following: char s="Hello, world\n!"; Are all the following guaranteed to produce the same output? printf( "%s", s ); fprintf( stdout, "%s", s ); fwrite( s, sizeof(char), sizeof(s)/sizeof(char) - 1, stdout );
35
2741
by: David Cleaver | last post by:
Hello all, I was wondering if there were some sort of limitations on the "if" statement? I'm writing a program which needs to check a bunch of conditions all at the same time (basically). And I'm pretty sure the rest of the program is working just fine. The only thing I could think might be wrong is that the if statement can only hold so many values in itself? Let me show what I'm doing: if (table001]>>5]&b&0x1f] != 0 &&
42
2416
by: Christopher C. Stacy | last post by:
Some people say sizeof(type) and other say sizeof(variable). Why?
25
2266
by: Why Tea | last post by:
Thanks to those who have answered my original question. I thought I understood the answer and set out to write some code to prove my understanding. The code was written without any error checking. --- #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct {
19
1514
by: lawtrevor | last post by:
I have a question regarding the use of free() based on some code I need to decipher: { struct A {<A fields>}; struct B {<A fields+ <Bfields>}; typedef struct A Aobj; typedef struct B Bobj;
7
1958
by: linq936 | last post by:
Hi, I am puzzled on this C puzzle: How to interpret this C statement: sizeof (int) * p Is that the size of integer type multiplies p or the size of whatever p points to in integer type? I think it should be the latter because there are 4 parser tokens here, sizeof, int, * and p, the first and the second are of same precedence which are higher than the third and all three operators are
0
9645
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9481
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10336
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10155
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9953
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8978
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6741
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5383
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
3655
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.