这是一个使用print_r转储的相当大的对象。如何循环并更改此PHP对象中的值?
https://docs.google.com/document/d/175RLhWlMQcyhGR6ffGSsoJGS3RyloEqo4EEHCL2H2vg/edit?usp=sharing
我试图改变uploaded_files的值。
为实现这一目的的末尾,你将看到类似
[uploaded_files] =>数组 ( [附件] =>/HOME2 /魔术师/的public_html /开发/测试/可湿性粉剂内容/uploads/wpcf7_uploads/Central-Coast-Montessori-logo.jpg [attachment2] => /home2/magician/public_html/development/testing/wp-content/uploads/wpcf7_uploads/Andrew.jpg)
我代码 //将附件移动到wpcf7ev临时文件夹
foreach ($cf7ev_object['uploaded_files'] as $key => $uploaded_file_path) { $new_filepath = WPCF7EV_UPLOADS_DIR . '/' . basename($uploaded_file_path); wpcf7ev_debug("New file path is {$new_filepath}"); rename($uploaded_file_path, $new_filepath); wpcf7ev_debug("'{$key}'is the KEY for {$uploaded_file_path}"); wpcf7ev_debug($cf7ev_object['uploaded_files']); $cf7ev_object['uploaded_files'][$key] = $new_filepath; // this is not updating }
通过它循环我一直在使用
foreach ($cf7ev_object->uploaded_files as $key => $uploaded_file_path) {
,这工作过。
但它不应该是
foreach ($cf7ev_object['uploaded_files'] as $key => $uploaded_file_path) {
?由于' - >'用于访问方法?
而具体我想更新这些uploaded_files的值,因此要做到这一点,我需要做
$cf7ev_object['uploaded_files'][$key] = $new_filepath; // this is not updating
?但这似乎并没有奏效。
我想我需要清楚如何访问对象中的值。
谢谢。
可以遍历在foreach – Smash
你试图使对象的数组中的最后一个例子用我的解决方案玩,这应该适合你。 –