如何检查形状向量是否包含具有特定值的形状

时间:2020-06-25 17:51:10

标签: hacklang

shape x {
   ?'a' => ?string,
   ?'b' => ?string,

}

我有一个形状为x的数组,并且我试图查看在字段“ a”中是否有任何形状的值为“ hello”。我该如何使用内置函数?

1 个答案:

答案 0 :(得分:1)

function has_hello(vec<shape(?'a' => string, ?'b' => string)> $items): bool {
  foreach ($items as $item) {
    if (Shapes::idx($item, 'a') === 'hello') {
      return true;
    }
  }
  return false;
}

您可以使用Shapes::idx来获取可选字段的值。如果您正在寻找要在数组上迭代的辅助函数,请查看C\名称空间。