Passing array into in_array()











up vote
0
down vote

favorite
1












Please consider the following PHP:



function get_ship_class()
{
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);

// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);

foreach ($csv as $row)
{
$array = $row[$col];
}
}


How do I pass the resulting array from the above function into



if( in_array() ){
//code
}


?










share|improve this question




















  • 1




    You have to return it, then pass the function call into it
    – Qirel
    Nov 22 at 14:06










  • in function you can use return $array; and the when you call get_ship_class() function you can retrieve your array
    – Sfili_81
    Nov 22 at 14:08










  • where did $array come from ?
    – Andrew
    Nov 22 at 14:10










  • @Andrew the function was borrowed from this answer. Is it incorrect?
    – ptrcao
    Nov 22 at 14:12








  • 3




    @ptrcao I'm on mobile right now, seems like you've got a solid answer below :-)
    – Qirel
    Nov 22 at 14:26















up vote
0
down vote

favorite
1












Please consider the following PHP:



function get_ship_class()
{
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);

// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);

foreach ($csv as $row)
{
$array = $row[$col];
}
}


How do I pass the resulting array from the above function into



if( in_array() ){
//code
}


?










share|improve this question




















  • 1




    You have to return it, then pass the function call into it
    – Qirel
    Nov 22 at 14:06










  • in function you can use return $array; and the when you call get_ship_class() function you can retrieve your array
    – Sfili_81
    Nov 22 at 14:08










  • where did $array come from ?
    – Andrew
    Nov 22 at 14:10










  • @Andrew the function was borrowed from this answer. Is it incorrect?
    – ptrcao
    Nov 22 at 14:12








  • 3




    @ptrcao I'm on mobile right now, seems like you've got a solid answer below :-)
    – Qirel
    Nov 22 at 14:26













up vote
0
down vote

favorite
1









up vote
0
down vote

favorite
1






1





Please consider the following PHP:



function get_ship_class()
{
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);

// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);

foreach ($csv as $row)
{
$array = $row[$col];
}
}


How do I pass the resulting array from the above function into



if( in_array() ){
//code
}


?










share|improve this question















Please consider the following PHP:



function get_ship_class()
{
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);

// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);

foreach ($csv as $row)
{
$array = $row[$col];
}
}


How do I pass the resulting array from the above function into



if( in_array() ){
//code
}


?







php arrays






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 at 14:11









treyBake

2,8063831




2,8063831










asked Nov 22 at 14:04









ptrcao

23911




23911








  • 1




    You have to return it, then pass the function call into it
    – Qirel
    Nov 22 at 14:06










  • in function you can use return $array; and the when you call get_ship_class() function you can retrieve your array
    – Sfili_81
    Nov 22 at 14:08










  • where did $array come from ?
    – Andrew
    Nov 22 at 14:10










  • @Andrew the function was borrowed from this answer. Is it incorrect?
    – ptrcao
    Nov 22 at 14:12








  • 3




    @ptrcao I'm on mobile right now, seems like you've got a solid answer below :-)
    – Qirel
    Nov 22 at 14:26














  • 1




    You have to return it, then pass the function call into it
    – Qirel
    Nov 22 at 14:06










  • in function you can use return $array; and the when you call get_ship_class() function you can retrieve your array
    – Sfili_81
    Nov 22 at 14:08










  • where did $array come from ?
    – Andrew
    Nov 22 at 14:10










  • @Andrew the function was borrowed from this answer. Is it incorrect?
    – ptrcao
    Nov 22 at 14:12








  • 3




    @ptrcao I'm on mobile right now, seems like you've got a solid answer below :-)
    – Qirel
    Nov 22 at 14:26








1




1




You have to return it, then pass the function call into it
– Qirel
Nov 22 at 14:06




You have to return it, then pass the function call into it
– Qirel
Nov 22 at 14:06












in function you can use return $array; and the when you call get_ship_class() function you can retrieve your array
– Sfili_81
Nov 22 at 14:08




in function you can use return $array; and the when you call get_ship_class() function you can retrieve your array
– Sfili_81
Nov 22 at 14:08












where did $array come from ?
– Andrew
Nov 22 at 14:10




where did $array come from ?
– Andrew
Nov 22 at 14:10












@Andrew the function was borrowed from this answer. Is it incorrect?
– ptrcao
Nov 22 at 14:12






@Andrew the function was borrowed from this answer. Is it incorrect?
– ptrcao
Nov 22 at 14:12






3




3




@ptrcao I'm on mobile right now, seems like you've got a solid answer below :-)
– Qirel
Nov 22 at 14:26




@ptrcao I'm on mobile right now, seems like you've got a solid answer below :-)
– Qirel
Nov 22 at 14:26












2 Answers
2






active

oldest

votes

















up vote
7
down vote













A slightly abbreviated version, but the same as is being suggested is to return the required data from the function but using array_column() to extract the data...



function get_ship_class()
{
$csv = array_map("str_getcsv", file("somefile.csv", "r"));
$header = array_shift($csv);

// Seperate the header from data
$col = array_search("heavy_shipping_class", $header);

// Pass the extracted column back to calling method
return array_column($csv,$col);
}


And to use it...



if ( in_array( "somevalue", get_ship_class() )) {
//Process
}


If you are going to use this returned value a few times, it may be worth storing it in a variable rather than passing it straight into the in_array() method.






share|improve this answer




























    up vote
    1
    down vote













    This is the answer that the comments are suggesting.



    function get_ship_class(){
    $array = array();
    $csv = array_map("str_getcsv", file("somefile.csv", "r"));
    $header = array_shift($csv);
    // Seperate the header from data
    $col = array_search("heavy_shipping_class", $header);
    foreach ($csv as $row) {
    array_push($array, $row[$col]);
    // array_push($array, "$row[$col]"); // You may need it as a string instead.
    }
    return $array;
    }



    if( in_array("whatever_you_are_looking_for", get_ship_class()) ){
    //code
    }





    share|improve this answer



















    • 2




      in_array need 2 arguments or i wrong?
      – Sfili_81
      Nov 22 at 14:15






    • 2




      @Sfili_81 You are absolutely correct. Amended.
      – cmprogram
      Nov 22 at 14:17











    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432709%2fpassing-array-into-in-array%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    7
    down vote













    A slightly abbreviated version, but the same as is being suggested is to return the required data from the function but using array_column() to extract the data...



    function get_ship_class()
    {
    $csv = array_map("str_getcsv", file("somefile.csv", "r"));
    $header = array_shift($csv);

    // Seperate the header from data
    $col = array_search("heavy_shipping_class", $header);

    // Pass the extracted column back to calling method
    return array_column($csv,$col);
    }


    And to use it...



    if ( in_array( "somevalue", get_ship_class() )) {
    //Process
    }


    If you are going to use this returned value a few times, it may be worth storing it in a variable rather than passing it straight into the in_array() method.






    share|improve this answer

























      up vote
      7
      down vote













      A slightly abbreviated version, but the same as is being suggested is to return the required data from the function but using array_column() to extract the data...



      function get_ship_class()
      {
      $csv = array_map("str_getcsv", file("somefile.csv", "r"));
      $header = array_shift($csv);

      // Seperate the header from data
      $col = array_search("heavy_shipping_class", $header);

      // Pass the extracted column back to calling method
      return array_column($csv,$col);
      }


      And to use it...



      if ( in_array( "somevalue", get_ship_class() )) {
      //Process
      }


      If you are going to use this returned value a few times, it may be worth storing it in a variable rather than passing it straight into the in_array() method.






      share|improve this answer























        up vote
        7
        down vote










        up vote
        7
        down vote









        A slightly abbreviated version, but the same as is being suggested is to return the required data from the function but using array_column() to extract the data...



        function get_ship_class()
        {
        $csv = array_map("str_getcsv", file("somefile.csv", "r"));
        $header = array_shift($csv);

        // Seperate the header from data
        $col = array_search("heavy_shipping_class", $header);

        // Pass the extracted column back to calling method
        return array_column($csv,$col);
        }


        And to use it...



        if ( in_array( "somevalue", get_ship_class() )) {
        //Process
        }


        If you are going to use this returned value a few times, it may be worth storing it in a variable rather than passing it straight into the in_array() method.






        share|improve this answer












        A slightly abbreviated version, but the same as is being suggested is to return the required data from the function but using array_column() to extract the data...



        function get_ship_class()
        {
        $csv = array_map("str_getcsv", file("somefile.csv", "r"));
        $header = array_shift($csv);

        // Seperate the header from data
        $col = array_search("heavy_shipping_class", $header);

        // Pass the extracted column back to calling method
        return array_column($csv,$col);
        }


        And to use it...



        if ( in_array( "somevalue", get_ship_class() )) {
        //Process
        }


        If you are going to use this returned value a few times, it may be worth storing it in a variable rather than passing it straight into the in_array() method.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 22 at 14:14









        Nigel Ren

        23.6k61832




        23.6k61832
























            up vote
            1
            down vote













            This is the answer that the comments are suggesting.



            function get_ship_class(){
            $array = array();
            $csv = array_map("str_getcsv", file("somefile.csv", "r"));
            $header = array_shift($csv);
            // Seperate the header from data
            $col = array_search("heavy_shipping_class", $header);
            foreach ($csv as $row) {
            array_push($array, $row[$col]);
            // array_push($array, "$row[$col]"); // You may need it as a string instead.
            }
            return $array;
            }



            if( in_array("whatever_you_are_looking_for", get_ship_class()) ){
            //code
            }





            share|improve this answer



















            • 2




              in_array need 2 arguments or i wrong?
              – Sfili_81
              Nov 22 at 14:15






            • 2




              @Sfili_81 You are absolutely correct. Amended.
              – cmprogram
              Nov 22 at 14:17















            up vote
            1
            down vote













            This is the answer that the comments are suggesting.



            function get_ship_class(){
            $array = array();
            $csv = array_map("str_getcsv", file("somefile.csv", "r"));
            $header = array_shift($csv);
            // Seperate the header from data
            $col = array_search("heavy_shipping_class", $header);
            foreach ($csv as $row) {
            array_push($array, $row[$col]);
            // array_push($array, "$row[$col]"); // You may need it as a string instead.
            }
            return $array;
            }



            if( in_array("whatever_you_are_looking_for", get_ship_class()) ){
            //code
            }





            share|improve this answer



















            • 2




              in_array need 2 arguments or i wrong?
              – Sfili_81
              Nov 22 at 14:15






            • 2




              @Sfili_81 You are absolutely correct. Amended.
              – cmprogram
              Nov 22 at 14:17













            up vote
            1
            down vote










            up vote
            1
            down vote









            This is the answer that the comments are suggesting.



            function get_ship_class(){
            $array = array();
            $csv = array_map("str_getcsv", file("somefile.csv", "r"));
            $header = array_shift($csv);
            // Seperate the header from data
            $col = array_search("heavy_shipping_class", $header);
            foreach ($csv as $row) {
            array_push($array, $row[$col]);
            // array_push($array, "$row[$col]"); // You may need it as a string instead.
            }
            return $array;
            }



            if( in_array("whatever_you_are_looking_for", get_ship_class()) ){
            //code
            }





            share|improve this answer














            This is the answer that the comments are suggesting.



            function get_ship_class(){
            $array = array();
            $csv = array_map("str_getcsv", file("somefile.csv", "r"));
            $header = array_shift($csv);
            // Seperate the header from data
            $col = array_search("heavy_shipping_class", $header);
            foreach ($csv as $row) {
            array_push($array, $row[$col]);
            // array_push($array, "$row[$col]"); // You may need it as a string instead.
            }
            return $array;
            }



            if( in_array("whatever_you_are_looking_for", get_ship_class()) ){
            //code
            }






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 22 at 14:16

























            answered Nov 22 at 14:13









            cmprogram

            1,063519




            1,063519








            • 2




              in_array need 2 arguments or i wrong?
              – Sfili_81
              Nov 22 at 14:15






            • 2




              @Sfili_81 You are absolutely correct. Amended.
              – cmprogram
              Nov 22 at 14:17














            • 2




              in_array need 2 arguments or i wrong?
              – Sfili_81
              Nov 22 at 14:15






            • 2




              @Sfili_81 You are absolutely correct. Amended.
              – cmprogram
              Nov 22 at 14:17








            2




            2




            in_array need 2 arguments or i wrong?
            – Sfili_81
            Nov 22 at 14:15




            in_array need 2 arguments or i wrong?
            – Sfili_81
            Nov 22 at 14:15




            2




            2




            @Sfili_81 You are absolutely correct. Amended.
            – cmprogram
            Nov 22 at 14:17




            @Sfili_81 You are absolutely correct. Amended.
            – cmprogram
            Nov 22 at 14:17


















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432709%2fpassing-array-into-in-array%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Trompette piccolo

            Slow SSRS Report in dynamic grouping and multiple parameters

            Simon Yates (cyclisme)