我有一个大型 foreach
循环,其中包含其他循环和条件。在我正在修改的代码顶部,我希望使用 option_data
数组中的一个值 - 这是如何完成的?
foreach ($this->cart->getProducts() as $product) {
$option_data = array();
foreach ($product['option'] as $option) {
if ($option['type'] != 'file') {
$value = $option['option_value'];
} else {
$filename = $this->encryption->decrypt($option['option_value']);
$value = utf8_substr($filename, 0, utf8_strrpos($filename, '.'));
}
$option_data[] = array(
'cid' => $option['option_value_id'], // WANT THIS CID VALUE
'name' => $option['name'],
'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value),
'type' => $option['type']
);
}
$sql_get_colour_image=mysql_query("
SELECT
imagefb_url
FROM
`ocm1__product_image_fb`
WHERE
`pid`=`".$product['product_id']."`
AND
`cid`= //GOES HERE
");
最佳答案
你可以试试这个:
$option_data = array();
foreach ($product['option'] as $option) {
if ($option['type'] != 'file') {
$value = $option['option_value'];
} else {
$filename = $this->encryption->decrypt($option['option_value']);
$value = utf8_substr($filename, 0, utf8_strrpos($filename, '.'));
}
$option_data[] = array(
'cid' => $option['option_value_id'], // WANT THIS CID VALUE
'name' => $option['name'],
'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value),
'type' => $option['type']
);
$sql_get_colour_image=mysql_query("
SELECT
imagefb_url
FROM
`ocm1__product_image_fb`
WHERE
`pid`=".$product['product_id']."
AND `cid`= ".$option['option_value_id']."
");
}
您可以选择:
$option_data = array();
$cids = array();
foreach ($product['option'] as $option) {
if ($option['type'] != 'file') {
$value = $option['option_value'];
} else {
$filename = $this->encryption->decrypt($option['option_value']);
$value = utf8_substr($filename, 0, utf8_strrpos($filename, '.'));
}
$option_data[] = array(
'cid' => $option['option_value_id'], // WANT THIS CID VALUE
'name' => $option['name'],
'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value),
'type' => $option['type']
);
$cids[] = $option['option_value_id'];
}
$sql_get_colour_image=mysql_query("
SELECT
imagefb_url
FROM
`ocm1__product_image_fb`
WHERE
`pid`=".$product['product_id']."
AND
`cid` IN (".implode(",",$cids).")
");
关于php - 如何在 PHP for MySQL 中获取数组外部的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465153/