0

I am confused with this list of array. I have a text file that contains the values that I will need to insert to the database. I have exploded it so that I can get those separated values.

REP 1020001,3,140822,140822;0111,260.00,23,34,3,54,1,2,4,5,12,23,46;0214,22.00,32,4,11,25,4,12,23,5,2,2,44;0313,25.00,5,52,12,45,12,5,6,7,12,3,33;

My code is just like this:

$read = FileRead($tmp);
$perline = explode(";",$read);

for($j=0; $j<count($perline); $j++)
        {
            $percomma = explode(",", $perline[$j]);
            print_r ($percomma);
        }

And the result is this:

Array ( [0] => 1020001 [1] => 3 [2] => 140822 [3] => 140822 ) Array ( [0] => 0111 [1] => 260.00 [2] => 23 [3] => 34 [4] => 3 [5] => 54 [6] => 1 [7] => 2 [8] => 4 [9] => 5 [10] => 12 [11] => 23 [12] => 46 ) Array ( [0] => 0214 [1] => 22.00 [2] => 32 [3] => 4 [4] => 11 [5] => 25 [6] => 4 [7] => 12 [8] => 23 [9] => 5 [10] => 2 [11] => 2 [12] => 44 ) Array ( [0] => 0313 [1] => 25.00 [2] => 5 [3] => 52 [4] => 12 [5] => 45 [6] => 12 [7] => 5 [8] => 6 [9] => 7 [10] => 12 [11] => 3 [12] => 33 ) Array ( [0] => )

What should I do to get the value from the 2nd array to the 4th array? Should I put it inside another array to make it multidimensional? Or there are other ways to solve this?

EDIT

My question is how will I be able to get the values from the print_r($percomma) when there are a lot of arrays in the result. The result array is up there that says And the result is this

EDIT 2

As making the array to be multidimensional I get this as a result:

Array ( [0] => Array ( [0] => 0111 [1] => 260.00 [2] => 23 [3] => 34 [4] => 3 [5] => 54 [6] => 1 [7] => 2 [8] => 4 [9] => 5 [10] => 12 [11] => 23 [12] => 46 ) ) Array ( [0] => Array ( [0] => 0214 [1] => 22.00 [2] => 32 [3] => 4 [4] => 11 [5] => 25 [6] => 4 [7] => 12 [8] => 23 [9] => 5 [10] => 2 [11] => 2 [12] => 44 ) ) Array ( [0] => Array ( [0] => 0313 [1] => 25.00 [2] => 5 [3] => 52 [4] => 12 [5] => 45 [6] => 12 [7] => 5 [8] => 6 [9] => 7 [10] => 12 [11] => 3 [12] => 33 ) ) Array ( [0] => Array ( [0] => ) )

It shows that they're all individual arrays. My code is this:

$read = FileRead($tmp);
$perline = explode(";",$read);

for($j=0; $j<count($perline); $j++)
        {
            $percomma = explode(",", $perline[$j]);
            $entries = array($percomma);
            print_r ($entries);
        }

EDIT 3

From subas_poudel's answer I get this result:

    Array
    (
    )
    Array
    (
        [0] => Array
            (
                [0] => 0111
                [1] => 260.00
                [2] => 23
                [3] => 34
                [4] => 3
                [5] => 54
                [6] => 1
                [7] => 2
                [8] => 4
                [9] => 5
                [10] => 12
                [11] => 23
                [12] => 46
            )

    )
    Array
    (
        [0] => Array
            (
                [0] => 0111
                [1] => 260.00
                [2] => 23
                [3] => 34
                [4] => 3
                [5] => 54
                [6] => 1
                [7] => 2
                [8] => 4
                [9] => 5
                [10] => 12
                [11] => 23
                [12] => 46
            )

        [1] => Array
            (
                [0] => 0214
                [1] => 22.00
                [2] => 32
                [3] => 4
                [4] => 11
                [5] => 25
                [6] => 4
                [7] => 12
                [8] => 23
                [9] => 5
                [10] => 2
                [11] => 2
                [12] => 44
            )

    )
    Array
    (
        [0] => Array
            (
                [0] => 0111
                [1] => 260.00
                [2] => 23
                [3] => 34
                [4] => 3
                [5] => 54
                [6] => 1
                [7] => 2
                [8] => 4
                [9] => 5
                [10] => 12
                [11] => 23
                [12] => 46
            )

        [1] => Array
            (
                [0] => 0214
                [1] => 22.00
                [2] => 32
                [3] => 4
                [4] => 11
                [5] => 25
                [6] => 4
                [7] => 12
                [8] => 23
                [9] => 5
                [10] => 2
                [11] => 2
                [12] => 44
            )

        [2] => Array
            (
                [0] => 0313
                [1] => 25.00
                [2] => 5
                [3] => 52
                [4] => 12
                [5] => 45
                [6] => 12
                [7] => 5
                [8] => 6
                [9] => 7
                [10] => 12
                [11] => 3
                [12] => 33
            )

    )
    Array
    (
        [0] => Array
            (
                [0] => 0111
                [1] => 260.00
                [2] => 23
                [3] => 34
                [4] => 3
                [5] => 54
                [6] => 1
                [7] => 2
                [8] => 4
                [9] => 5
                [10] => 12
                [11] => 23
                [12] => 46
            )

        [1] => Array
            (
                [0] => 0214
                [1] => 22.00
                [2] => 32
                [3] => 4
                [4] => 11
                [5] => 25
                [6] => 4
                [7] => 12
                [8] => 23
                [9] => 5
                [10] => 2
                [11] => 2
                [12] => 44
            )

        [2] => Array
            (
                [0] => 0313
                [1] => 25.00
                [2] => 5
                [3] => 52
                [4] => 12
                [5] => 45
                [6] => 12
                [7] => 5
                [8] => 6
                [9] => 7
                [10] => 12
                [11] => 3
                [12] => 33
            )

    )

The last set of array is what I needed but how can I get those values?

EDIT 4 With my simple mistake I put the array_slice inside my for loop that's why I get too many arrays. Now this is the result of @subas_poudel's answer.

    Array
    (
        [0] => Array
            (
                [0] => 0111
                [1] => 260.00
                [2] => 23
                [3] => 34
                [4] => 3
                [5] => 54
                [6] => 1
                [7] => 2
                [8] => 4
                [9] => 5
                [10] => 12
                [11] => 23
                [12] => 46
            )

        [1] => Array
            (
                [0] => 0214
                [1] => 22.00
                [2] => 32
                [3] => 4
                [4] => 11
                [5] => 25
                [6] => 4
                [7] => 12
                [8] => 23
                [9] => 5
                [10] => 2
                [11] => 2
                [12] => 44
            )

        [2] => Array
            (
                [0] => 0313
                [1] => 25.00
                [2] => 5
                [3] => 52
                [4] => 12
                [5] => 45
                [6] => 12
                [7] => 5
                [8] => 6
                [9] => 7
                [10] => 12
                [11] => 3
                [12] => 33
            )

    )
9
  • your question is unclear, whats the end result? Commented Sep 10, 2014 at 6:38
  • If you dont require other vale of array than just make if condition in for loop ,no requirement of other array. Commented Sep 10, 2014 at 6:38
  • Please clarify your question Commented Sep 10, 2014 at 6:39
  • @Ghost please check my question again. I have edited it. Commented Sep 10, 2014 at 6:43
  • @Pkboss please check my question again. I have edited it. Commented Sep 10, 2014 at 6:44

3 Answers 3

1

you can use multidimensional array to hold all the value. then you can get all the array you want by either $percomma[index you want] or using array_slice.

$read = FileRead($tmp);
$perline = explode(";",$read);

for($j=0; $j<count($perline); $j++)
{
    $percomma[] = explode(",", $perline[$j]);          

}
echo '<pre>'.print_r (array_slice($percomma,1,3),true).'</pre>';
Sign up to request clarification or add additional context in comments.

3 Comments

I just copied your last code echo and put the [] beside my $percomma
use my whole code. then let me know what you want. AFAIK my code exactly gives you the answer you want.
I get it! I echoed it under the for statement that's why I get lots of array. Thank you! I think I can work on this now.
1

I'm going to copy/edit your original code posting, to show what I was talking about in my comment.

$read = FileRead($tmp);
$perline = explode(";",$read);
$percomma = array();             //new array-declaration line

for($j=0; $j<count($perline); $j++)
{  $percomma[j] = explode(",", $perline[$j]);
   print_r ($percomma[j]);
}

Your first "And the result is" line is a printed sequence of arrays, and would be unchanged by implementing the above tweaks to your code. However, because the values in the $percomma variable are no longer overwritten in each loop that obtains an array from the explode() function, you may now, at any point after the above code, do something like:

print_r($percomma[1]); //re-print 2nd array, or
$ary_el = $percomma[2][1]; //get 2nd element of 3rd array (22.00) into a variable.

Comments

0
$array = array
   (
   array("bla",22,18),
   array("blaa",15,13),
   array("blaaa",5,2),
   array("blaaaa",17,15)
   );

for ($row = 0; $row <  4; $row++) {
   echo "<p><b>Row number $row</b></p>";
   echo "<ul>";
   for ($col = 0; $col <  3; $col++) {
     echo "<li>".$array[$row][$col]."</li>";
   }
   echo "</ul>";
}

1 Comment

Please check my question again. I have updated it with making a multidimensional array but the result are all different arrays

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.