我试图根据数组中的属性返回拉取值,并且看起来很直接,但我似乎无法确定实现此目的的正确方法。
这是我想要从中获取的数组:
[1] => InfoOptions Object
(
[description] => INFO
[optSequence] => 2
[eqpObject] => CUSTOMER NTWK ENG
[attribute] =>
[eqpValue] =>
[dlrSequence] => 10
)
[2] => InfoOptions Object
(
[description] =>
[optSequence] => 3
[eqpObject] => CUSTOMER TEST
[attribute] => CUSTOMER
[eqpValue] => Jon Doe
[dlrSequence] => 10
)
这是我到目前为止所做的:
if (is_array($provisionCVResult->path->infoOptions-_InfoOptions)) {
foreach ($provisionCVResult->path->infoOptions ->InfoOptions as $cv_obj) {
$CVA = array();
$result = null;
foreach ($CV_obj as $value) {
if($value['attribute'] == 'CUSTOMER') {
$CVA["eqpValue"] = $cv_obj->eqpValue;
break;
}
}
$this->cvArrayDataList[] = $CVA;
}
}
我哪里错了?
答案 0 :(得分:1)
快速查看,尝试更改
unsigned int m; // bitmask from which next permutation is chosen
// where bitCount(m) == N
unsigned int v; // current permutation of bits where (v & m) == v
// and bitCount(v) == K
unsigned int w; // next permutation of bits where (w & m) == w
// and bitCount(w) == bitCount(v)
...
要
$value['attribute'] == 'CUSTOMER'
由于元素是" InfoOptions对象"而不是一个数组。
注意我还建议使用严格的比较,例如' ==='而不是' =='。
答案 1 :(得分:1)
因此,假设 $ provisionCVResult-> path-> InfoOptions-> InfoOptions 返回 InfoOptions对象的数组,我认为您应该这样做:
if (is_array($provisionCVResult->path->InfoOptions->InfoOptions))
{
$result = null;
foreach($provisionCVResult->path->InfoOptions->InfoOptions as $cv_obj)
{
if($cv_obj->attribute == 'CUSTOMER')
{
$this->cvArrayDataList[] = array("eqpValue" => $cv_obj->eqpValue);
}
}
}