php - 不能 var_dump 或 echo 变量
问题描述
我有这个功能可以根据重量修改运输方式。
我需要 var_dump 或 echo $rates 才能访问和调节它的某些属性(例如您可以看到的成本)。
add_filter( 'woocommerce_package_rates', 'compoco_wholesale_rates', 10 );
function compoco_wholesale_rates( $rates ) {
global $woocommerce;
$base_cost = 0;
$cart_weight = $woocommerce->cart->get_cart_contents_weight();
$shipping_price = array('3' => 34, '4' => 42, '5' => 50, '6' => 58, '7' => 66, '8' => 73, '9' => 80, '10' => 88, '11' => 95, '12' => 102, '13' => 107, '14' => 117, '15' => 125, '16' => 132, '17' => 140, '18' => 146, '19' => 153, '20' => 163);
foreach ( $shipping_price as $key => $value){
if( round($cart_weight) == $key){
$base_cost = $value;
}
}
foreach($rates as $key => $rate ) {
$rate->cost = $base_cost;
}
return $rates;
}
尝试输出有问题的 var 时没有任何反应。
解决方案
你应该使用
echo "<pre>"; print_r($rates); die;
函数内部。
如果这是后端或任何屏幕都无法访问的东西,您可以创建一个文件并将 var 内容放入其中(print_r 中的 true 标志)。
$h = fopen('/var/www/whatever/rates.txt', 'w');
fwrite($h, print_r($rates, true));
fclose($h);
请记住,您可以使用https://xdebug.org/来解决此类问题。
推荐阅读
- java - 为什么我的视图的可见性会随机变化?
- reactjs - 如何在接收道具时更改 React Native 动画序列时间
- php - 如何从另一个表 MySQL 中插入数据
- angular - 最小和最大指令在 Angular 6 中没有按预期工作
- java - Java TableRowSorter 未正确排序表行
- aws-lex - Amazon Lex 阻止 Intent 激活
- angular - Angular 项目结构最佳实践
- aws-api-gateway - 如何在 API Gateway 中为 API 创建 IP/VPC 白名单?
- python - 如何最好地遍历蒙面的二维数组
- dart - Google Authenticator 是否有任何飞镖库?