File Exchange

image thumbnail

Recursively check fields of a structure exist

version 1.1.0.0 (1.76 KB) by Matthew Arthington
Check fields of a structure exist at any depth. Can also check multiple field branches at any depth.

1 Download

Updated 22 Jul 2010

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.

Cite As

Matthew Arthington (2020). Recursively check fields of a structure exist (https://www.mathworks.com/matlabcentral/fileexchange/28142-recursively-check-fields-of-a-structure-exist), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

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

Updates

1.1.0.0

Improved the summary text

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux