www.webdeveloper.com
Results 1 to 5 of 5

Thread: add string to variables

Hybrid View

  1. #1
    Join Date
    Oct 2011
    Posts
    350

    add string to variables

    Hi

    Good day!

    I just want to know if what syntax/code should I use to put - in my data variable.

    for example I have this data.

    $lot_number_indi_scan = 'LO130315002LO130318001';

    I want to create a new variable and the output has added - between the lot_number_indi_scan like this:

    $newlot = 'LO130315002-LO130318001';


    I want to happen is first I will check the length of $lot_number_indi_scan if length is greater than 10 every lot_number_indi_scan has -
    like this:
    $newlot = 'LO130315002-LO130318001';


    Any help is highly appreciated.

    Thank you so much.

  2. #2
    Join Date
    May 2004
    Location
    chennai, tamil nadu, India
    Posts
    450

  3. #3
    Join Date
    Oct 2011
    Posts
    350
    $lot_number_scan = "LO130315002LO130318001,LO130315003"
    $lot_number_indi_scan = explode(',', $lot_number_scan);

    $count_lot_str = strlen($lot_number_indi_scan);

    if($count_lot_str > 11)
    {
    $lot_number_indi_scan = substr($lot_number_indi_scan, 0, 11) . "-" . substr($lot_number_indi_scan, 11); ;
    }
    else
    {
    $lot_number_indi_scan = $lot_number_indi_scan;
    }

    but instead the length is 11 it becomes 5 i don't know why.

    Thank you so much.

  4. #4
    Join Date
    Jul 2007
    Location
    Wisconsin
    Posts
    468
    explode() turns $lot_number_indi_scan into an Array, so your strlen() of $lot_number_indi_scan is on the "Array" object (hence 5; A-r-r-a-y).

    What you need to do is loop over the $lot_number_indi_scan like such:

    PHP Code:
        $lot_number_scan "LO130315002LO130318001,LO130315003";
        
    $lot_number_indi_scan explode(','$lot_number_scan);
        
        
    //$count_lot_str = strlen($lot_number_indi_scan);
        
        
    foreach ($lot_number_indi_scan as $tmpID => $lot_number) {
            if(
    strlen($lot_number) > 11)
            {
                
    $lot_number substr($lot_number011) . "-" substr($lot_number11);
            }
            else
            {
                
    $lot_number $lot_number
            }
            
            
    $lot_number_indi_scan[$tmpID] = $lot_number;
        }
        
        
    // i just put the results of the manipulation back into the original array
        
    echo "<pre>";
        
    print_r($lot_number_indi_scan);
        echo 
    "</pre>";

        
    // $lot_number_indi_scan
        // Array
        // (
        //     [0] => LO130315002-LO130318001
        //     [1] => LO130315003
        // ) 

  5. #5
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,633
    If the lot numbers are always in the form 1-n capital letters followed by 1-n numbers:
    PHP Code:
    $str='LO130315002LO130318001';
    $newStr=preg_replace('/(?<=[0-9])(?=[A-Z])/''-'$str);
    echo 
    $newStr;
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles