473,657 Members | 2,420 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Looping through multidimensiona l arrays

Hi all,
I have a 2D array, which I am trying to access, but I am having
problems doing this:

If, for instance, I use a nested for loop to go through the values,
using something like

echo "$MyArray[$loop_var_one][$loop_var_two]";
I get the following:
Array[1]
Array[2]
Array[3]
etc.

If I do a var_dump($MyArr ay[$loop_var_one][$loop_var_two])
I get
string(1) "2"
string(1) "0"
string(1) "3"
etc.
Now, if I do a count($MyArray[$loop_var_one]);
to see how many array elements are in the 2nd array index (for the
for...loop), I get zero!
Also, if I do the following
$new_array = $MyArray[$loop_var_one];
to try and populate a second array, and then do a var_dump(
$new_array), I get nothing as well.

Can anyone help please?

TIA

Paul

Jul 17 '05 #1
2 8531
<?php
echo "<br><br>";

$year = array( "january" => array( "1" => "first", "2" => "second", "3" =>
"third" ),
"february" => array( "26" => "twenty sixth" ),
);

$year['january']['23']="some day";

$aday = $year['february']['26'];
echo "$aday<br>\ n";

echo "<pre>\n";
var_dump( $year );
echo "</pre>\n<br /><br />\n";

foreach ( $year as $month => $days )
{
$cnt = count ( $days );
echo "count for $month = $cnt<br />\n";
foreach ( $days as $key => $value )
{
echo "$key => $value<br />\n";
}
echo "=====<br />\n";
}

$new_array = $year["january"];
echo "<pre>\n";
var_dump ( $new_array );
echo "</pre>\n";
?>

HTH,

<pa**@paullee.c om> wrote in message
news:11******** *************@o 13g2000cwo.goog legroups.com...
Hi all,
I have a 2D array, which I am trying to access, but I am having
problems doing this:

If, for instance, I use a nested for loop to go through the values,
using something like

echo "$MyArray[$loop_var_one][$loop_var_two]";
I get the following:
Array[1]
Array[2]
Array[3]
etc.

If I do a var_dump($MyArr ay[$loop_var_one][$loop_var_two])
I get
string(1) "2"
string(1) "0"
string(1) "3"
etc.
Now, if I do a count($MyArray[$loop_var_one]);
to see how many array elements are in the 2nd array index (for the
for...loop), I get zero!
Also, if I do the following
$new_array = $MyArray[$loop_var_one];
to try and populate a second array, and then do a var_dump(
$new_array), I get nothing as well.

Can anyone help please?

TIA

Paul

Jul 17 '05 #2
"Duyet The Vo" <me@nospam.ne t> wrote in message news:<25******* *************** *****@news.vers atel.nl>...
<?php
echo "<br><br>";

$year = array( "january" => array( "1" => "first", "2" => "second", "3" =>
"third" ),
"february" => array( "26" => "twenty sixth" ),
);

$year['january']['23']="some day";

$aday = $year['february']['26'];
echo "$aday<br>\ n";

echo "<pre>\n";
var_dump( $year );
echo "</pre>\n<br /><br />\n";

foreach ( $year as $month => $days )
{
$cnt = count ( $days );
echo "count for $month = $cnt<br />\n";
foreach ( $days as $key => $value )
{
echo "$key => $value<br />\n";
}
echo "=====<br />\n";
}

$new_array = $year["january"];
echo "<pre>\n";
var_dump ( $new_array );
echo "</pre>\n";
?>

HTH,

<pa**@paullee.c om> wrote in message
news:11******** *************@o 13g2000cwo.goog legroups.com...
Hi all,
I have a 2D array, which I am trying to access, but I am having
problems doing this:

If, for instance, I use a nested for loop to go through the values,
using something like

echo "$MyArray[$loop_var_one][$loop_var_two]";
I get the following:
Array[1]
Array[2]
Array[3]
etc.

If I do a var_dump($MyArr ay[$loop_var_one][$loop_var_two])
I get
string(1) "2"
string(1) "0"
string(1) "3"
etc.
Now, if I do a count($MyArray[$loop_var_one]);
to see how many array elements are in the 2nd array index (for the
for...loop), I get zero!
Also, if I do the following
$new_array = $MyArray[$loop_var_one];
to try and populate a second array, and then do a var_dump(
$new_array), I get nothing as well.

Can anyone help please?

Thanks for your help. By the way, I am not using associative arrays,
just indexed arrays.

I am adding to the array by (in a loop) doing something like
$MyArray[$var1][] = $data_I_want_to _insert

So, just using square brackets and indices is the best way for me. Is
there any way
to do this - none of the websites I looked at helped at all.

I'm only using var_dump to check the contents of the array, I'm not
using it to actually display anything meaningful to screen. The reason
is because I am checking to see what is in the array so that when I
write a combo/drop-down box to screen I can append a "SELECTED"
statement into the "option" tag depending on whether it is in the
array or not.

TIA

Paul
Jul 17 '05 #3

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

Similar topics

5
6743
by: Golf Nut | last post by:
I am finding that altering and affecting values in elements in multidimensional arrays is a huge pain in the ass. I cannot seem to find a consistent way to assign values to arrays. Foreach would clearly be the most efficient way to do it, but it only works on a copy of the original array and not the original (which is counter intuitive in my estimation). Using each doesn't work consistently either. Not only that, it's unduly complex for...
2
1137
by: Terry | last post by:
Hi, can someone plz tell me how multidimensional arrays (like a 2-D array) are stored in memory? Are they like single dimensional arrays? Stored sequentially in one "row", so to say? Thanks Terry
9
6665
by: Charles Banas | last post by:
i've got an interesting peice of code i'm maintaining, and i'd like to get some opinions and comments on it, hopefully so i can gain some sort of insight as to why this works. at the top of the function (which was translated from Fortran code), among other heinous and numerous declarations, is this bit: static float bbuff; static int bkey; static int buse;
3
8189
by: Claire | last post by:
I have a multidimensional array defined as private double myArray = new double; The first column of the array contains X values, the other contains Y values I have a charting function defined as Add(Array XValues, Array YValues) How do I call the Add function, passing my array columns please. thanks
3
2193
by: Ravi Singh (UCSD) | last post by:
Hello all I am trying to use jagged and multi-dimensional arrays in C++. In C# these work fine // for jagged arrays string jaggedArray = new string ; //for multidimensional arrays string multidimensionalArray = new string
21
4172
by: utab | last post by:
Hi there, Is there a way to convert a double value to a string. I know that there is fcvt() but I think this function is not a part of the standard library. I want sth from the standard if possible. The thing I am trying to do is to convert a double value to a string with 8 elements. 8 is fixed because of the files I work with. I will change this 8 character string with the one(8 character string) already in the file and so on. But I...
10
12199
by: | last post by:
I'm fairly new to ASP and must admit its proving a lot more unnecessarily complicated than the other languages I know. I feel this is because there aren't many good official resources out there to help do the most basic things. One of the "basic" things I haven't been able to find out how to do is how to delete an item from a multidimensional array object and resize it afterwards. It seems so easy to conceive of the code to delete...
4
1422
by: nico3334 | last post by:
I'm having problems with my code concerning a mulitdimensional array. Basically, I'm trying to create an array (arrTotal) which contains all of the data from 2 arrays (arrOne & arrTwo). Basically, they each contain data from Tables, and I just want to combine them into a single array which contains all of the info. Here's what I have so far, but I know something isn't right: Dim i As Integer Dim j As Integer 'This gives me the...
9
4493
by: Slain | last post by:
I need to convert a an array to a multidimensional one. Since I need to wrok with existing code, I need to modify a declaration which looks like this In the .h file int *x; in a initialize function: x = new int;
0
8310
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
8826
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
8732
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
8605
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
7330
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...
1
6166
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5632
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();...
1
2726
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1615
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.