【问题标题】:Assign color to individual variables in PHP array为 PHP 数组中的单个变量分配颜色
【发布时间】:2019-02-04 14:13:45
【问题描述】:

我不确定这是否可行,但这个概念类似于使用strtoupper。我正在尝试为数组中的每个项目设置一个颜色 # 值。是否有可以在这里应用的有效 PHP 颜色函数?

例如[0] = #ed7b7 [1] = #c13f0

稍后在代码中使用 jQuery 调用这些值以显示在 Javascript SweetAlert 中,我试图让每个字符串在警报中显示为不同的颜色。

我将字符串转换为大写的代码段:

    // Return the product category count that belongs to the added item
if( has_term( $categories[0], 'product_cat', $product_id ) )
    echo json_encode(array(strtoupper($categories[0]) => $counts[0])); // Returned value to jQuery
if( has_term( $categories[1], 'product_cat', $product_id ) )
    echo json_encode(array(strtoupper($categories[1]) => $counts[1])); // Returned value to jQuery
}

这是 Javascript 警报,然后我尝试使用彩色变量调用修改后的响应:

    success: function (response) {
                    $.each( JSON.parse(response), function( category, count ) {
                        if( count == 4 ){                         
swal({
  type: 'success',
  title: "You've Added The 4 Minimum "+category+" Items!",
  allowOutsideClick: false,
  showCancelButton: false,
  showConfirmButton: false,
timer: 3000,
})  

【问题讨论】:

  • 为什么不在每个类别中添加一个'color' => 'whatever value'
  • 您的意思是在 IF 之外定义一种颜色?就像... $categories[0] = $color = "#c13f0";
  • json_encode(array(strtoupper($categories[0]) => $counts[0], 'color' => '#ED7B7'));
  • 嗯。刚刚尝试添加该更改,但没有对显示的 Javascript 警报进行任何更改。
  • 这只是将键值对放在响应对象上。您的 javascript 必须从响应中读取并相应地使用它。

标签: javascript php jquery woocommerce


【解决方案1】:

您可以使用以下函数生成任何随机颜色,并将其作为颜色属性分配给您的数组。

function random_color_part() {
        return str_pad( dechex( mt_rand( 0, 255 ) ), 2, '0', STR_PAD_LEFT);
    }

    function random_color() {
        return random_color_part() . random_color_part() . random_color_part();
    }

if( has_term( $categories[0], 'product_cat', $product_id ) )
    echo json_encode(array(strtoupper($categories[0]) => $counts[0],'color' => random_color())); // Returned value to jQuery
if( has_term( $categories[1], 'product_cat', $product_id ) )
    echo json_encode(array(strtoupper($categories[1]) => $counts[1],'color' => random_color())); // Returned value to jQuery
}

Generating a random hex color code with PHP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 2019-11-12
    相关资源
    最近更新 更多