如何在php中从数组中查询选定的键

如何在php中从数组中查询选定的键,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,这不是一个具体的问题!这是关于包含代码中的循环的问题 在使用Woocommerce的product-attributes.php模板时,有一个循环循环遍历属性,显示属性及其术语 在所附图像中,您可以看到输出的表格。 你可以在这篇文章的底部查看有问题的代码 我的问题是,我只希望选择的当前变量产品的术语显示在其属性标签之后。正如您在图中所看到的,我选择了一个“维度”,但是关联属性的所有术语都循环并显示在表中(即,产品应该只显示一个权重(术语))。如何选择与变量产品属性一起存储的1项?我感觉像下面一

这不是一个具体的问题!这是关于包含代码中的循环的问题

在使用Woocommerce的product-attributes.php模板时,有一个循环循环遍历属性,显示属性及其术语

在所附图像中,您可以看到输出的表格。

你可以在这篇文章的底部查看有问题的代码

我的问题是,我只希望选择的当前变量产品的术语显示在其属性标签之后。正如您在图中所看到的,我选择了一个“维度”,但是关联属性的所有术语都循环并显示在表中(即,产品应该只显示一个权重(术语))。如何选择与变量产品属性一起存储的1项?我感觉像下面一行中的数组查询($code>$attribute\u values=wc\u get\u product\u terms($product->get\u id(),$attribute->get\u name(),数组('fields'=>'all'))是关键,但我不确定它是如何工作的

研究 我在Woocommerce的论坛上搜索过,这里是谷歌的Stackoverflow。我已经浏览了这些文件,并将问题隔离到这个模板中。我束手无策。有人能帮忙吗

<?php foreach ( $attributes as $attribute ) : ?>
    <tr>
        <th><?php echo wc_attribute_label( $attribute->get_name() ); ?></th>
        <td><?php
            $values = array();

            if ( $attribute->is_taxonomy() ) {
                $attribute_taxonomy = $attribute->get_taxonomy_object();
                $attribute_values = wc_get_product_terms( $product->get_id(), $attribute->get_name(), array( 'fields' => 'all' ) );

                foreach ( $attribute_values as $attribute_value ) {
                    $value_name = esc_html( $attribute_value->name );

                    if ( $attribute_taxonomy->attribute_public ) {
                        $values[] = '<a href="' . esc_url( get_term_link( $attribute_value->term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name . '</a>';
                    } else {
                        $values[] = $value_name;
                    }
                }
            } else {
                $values = $attribute->get_options();

                foreach ( $values as &$value ) {
                    $value = make_clickable( esc_html( $value ) );
                }
            }

            echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
        ?></td>
    </tr>
<?php endforeach; ?>