Jump to content

php array duplicating a value help


mrooks1984
 Share

Recommended Posts

hello all i am hoping someone can help me, i have to arrays some times the product_option_values has less or the same values as the product_option_titles when its less i want it to stop when its run out of values instead of continuing and duplicating the product_option_values until product_option_values has run out of values: see the $cart_option here,  Test : Black

heres the code, really hope someone can help me i have been trying to figure it out all day.

		//Create cart option
		$cart_option = '';
		if (isset($product_option_values)) {

			foreach ($product_option_titles as $product_option_title) {
			foreach ($product_option_values as $product_option_value) {				
					$cart_option .= $product_option_title['option_title']." : ".$product_option_value['option_value']." ";
				}
			}
		}
		print_r($product_option_titles);
		print_r($product_option_values);
		echo $cart_option;

heres the print_r's and the echo

 

product_option_titles = Array ( [0] => Array ( [option_title] => Colours ) [1] => Array ( [option_title] => Test ) )

product_option_values = Array ( [0] => Array ( [option_value] => Black ) )

$cart_option = Colours : Black Test : Black

 

thanks all.

Link to comment
Share on other sites

change:



if (isset($product_option_values)) {//checks if value is set

to:



if (isset($product_option_values) && !empty($product_option_values)) {
//checks if value is set and not empty no zero no float value 0.0 no NULL no FALSE

 

then you could do something with count

 

$count_option_values = count($count_option_values);

$count_option_titles = count($count_option_titles);

 

for($i=0; $ < $count_option_values; $i++;) { //code that goes after counting loop for values

}

 

for($i=0; $ < $count_option_titles; $i++;) { //code that goes after counting loop for titles

}

Link to comment
Share on other sites

hi thanks again this is the print_r : Array ( [0] => Array ( [option_title] => Colours ) [1] => Array ( [option_title] => Test ) ) Array ( [0] => Array ( [option_value] => Black ) )

and the echo: Colours : Black Test : Black

heres the code now:

		if (isset($product_option_values) && !empty($product_option_values)) {
		//checks if value is set and not empty no zero no float value 0.0 no NULL no FALSE

			foreach ($product_option_titles as $product_option_title) {
			foreach ($product_option_values as $product_option_value) {				
					$cart_option .= $product_option_title['option_title']." : ".$product_option_value['option_value']." ";
				}
			}
		}
		print_r($product_option_titles);
		print_r($product_option_values);
		echo $cart_option;

 

thanks again

Link to comment
Share on other sites

ran out of editing time so repost here.....

 

using count in a proper array loop

 

$count_option_values = count($count_option_values);
$count_option_titles = count($count_option_titles);

for($i=0; $i < $count_option_values; $i++ { //code that goes after counting loop for values
}

for($i=0; $i < $count_option_titles; $i++ { //code that goes after counting loop for titles
}

Link to comment
Share on other sites

thanks for getting back to me i did have a look at count but couldent figure out how to do it, so how do i add the stuff to get each loop to add them togeather like this:

 

$cart_option .= $product_option_title['option_title']." : ".$product_option_value['option_value']." ";

 

 

 

Link to comment
Share on other sites

i get this now:

Notice: Undefined variable: cart_options on line 241

 

Notice: Array to string conversion  on line 241

Array

 

heres the code

		//Create cart option
		$cart_option = '';

		//checks if value is set and not empty no zero no float value 0.0 no NULL no FALSE
		if (isset($product_option_values) && !empty($product_option_values)) {			

		//merge together both arrays
		$cart_options .= $product_option_titles+$product_option_values; 
		//for testing purposes
		print_r($cart_options);
		}
		echo $cart_option;

Link to comment
Share on other sites

strange i changed to to the $key =

and i get: Notice: Array to string conversion in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 239

0 = Array/n

Notice: Array to string conversion in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 239

1 = Array/n

Notice: Array to string conversion in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 239

2 = Array/n

Notice: Array to string conversion in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 239

3 = Array/n

 

Link to comment
Share on other sites

thanks for that, dident notice that, until you pointed it out, displaying fine now. i need to have a think how to get it displayed like i need it now title - value then if no value dont display the title

 

this is the print array

 

Array ( [option_title] => Colours ) Array ( [option_title] => Test ) Array ( [option_value] => Black ) Array ( [option_value] => Bacon )

 

for the other arrays i did in the script i just do this to show certain results echo $options['option_title'];

when i do this i get this: Notice: Undefined index: option_title in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 239

so how do i do this please?

Link to comment
Share on other sites

i am getting this:

 

Notice: Undefined index: option_value in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 240

Colours : Colours :

Notice: Undefined index: option_value in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 240

Test : Test :

Notice: Undefined index: option_title in C:\xampp\htdocs\jubileeleather\site\_class\store.php on line 240

: Black : Black

 

this is 240: $output= $options['option_title']." : ".$options['option_value']." ";

Link to comment
Share on other sites

This thread is more than a year old.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.