Is there a way to combine each element of a multidimensional array with another array in php?

Posted on 2010-11-28
Last Modified: 2012-06-27
I have a multidimensional array which is a set of exploded numbers .ie

They have been exploded using "-" delimiter to input into  a database using a form that I copy and paste the numbers from a spreadsheet. I can load them individually or as a set. just fine. However I need put them into the database combined with another array  of letters ie:

Column 1          Column2
A                          347
B                          251
C                          123

The letters array are the name of tables in the database and the numbers are being inserted with each number a different field. Again I can explode and load them fine, but I want to be able to take the letter array, and copy the numbers into the form and have the numbers load into the database based on the names in the letter array. Any ideas would be appreciated.

Question by:phillyrob817
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
LVL 110

Expert Comment

by:Ray Paseur
ID: 34226036
It looks like you have two arrays there - you can use an iterator like foreach() to walk the arrays.
LVL 110

Expert Comment

by:Ray Paseur
ID: 34226043
It would probably be helpful to see your CREATE TABLE statements and a little "before-and-after" example.

This shows how the iterators work.
foreach ($column1 as $key => $table_name)
    echo $column2[$key];

Open in new window


Author Comment

ID: 34226329
Thanks for the reply.

The table names  in the db are A, B, C  and in each table the fields are: id, date, number_1, number_2 ,number_3.

I take numbers from a spreadsheet  and copy them into a text box  like so

7-8-9 ect  
up to 20 rows of numbers. My script will explode  those number delimiting on the "-"  and upload each number into the proper fiield, but I first must select each table, then copy/paste into form then hit submit to upload. I have to do each table separately. I am looking to have an array with the each table name, and when i copy the numbers, have each row be associated with each element of the array (table name) ie

table A  matched with first pasted number 1-2-3
table B with second 4-5-6 and so on.

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

LVL 110

Accepted Solution

Ray Paseur earned 250 total points
ID: 34226406
This looks like it could benefit from a lot of automation.  Instead of cutting numbers from a spreadsheet and pasting into a text box, try writing the spreadsheet output into a file.  You can probably save the spreadsheet as a ".csv" file.  Then when you read the spreadsheet in with fgetcsv() you will have an array of numbers (corresponding to the cells of the spreadsheet).  You can store the first row into table A, the second into table B, etc.

Author Comment

ID: 34226705
I have never used  fgetcsv(), so you have sent me down a new path that may the a very easy solution to all the code I have written. Thx I will let you know  shortly!

Author Closing Comment

ID: 34226812
This helps a lot, but leads to another question. Does not solve issue.
LVL 110

Expert Comment

by:Ray Paseur
ID: 34226951
Yeah, the reason it does not solve the issue is because you have not given EE adequate test data. Take some time to learn about "TDD" -- it will make your work much easier.

Author Comment

ID: 34227275
ok thx  I will.

Featured Post

Percona Live Europe 2017 | Sep 25 - 27, 2017

The Percona Live Open Source Database Conference Europe 2017 is the premier event for the diverse and active European open source database community, as well as businesses that develop and use open source database software.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
The viewer will learn how to count occurrences of each item in an array.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question