File Exchange

image thumbnail

Recursively check fields of a structure exist

version 1.1 (1.76 KB) by

Check fields of a structure exist at any depth. Can also check multiple field branches at any depth.

2 Downloads

Updated

View License

This function will return true if the first input structure contains the field in the second input string and in turn that field has the field given in the third input string and so on. This allows A.b.c = 2; to be checked as:
isfieldRecursive(A,'b','c')
ans =
1
Which would return false if either b is not a field of A or c is not a field of a.b

The other functionality of this function is that the existence of multiple fields at any depth can be determined by replacing a string input with a cell array of strings. e.g. A.b.c = 2;A.d.c = 2;
isfieldRecursive(A,{'b','d'},'c')
ans =
1
Which would have returned false if A did not have either field b or field d and those fields in turn did not have a field c.

Comments and Ratings (1)

Roger Parkyn

Did exactly what I needed (whereas the built-in "exist" function doesn't handle structures).

Updates

1.1

Improved the summary text

MATLAB Release
MATLAB 7.7 (R2008b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video